問題タブ [c11]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C11/C++11 メモリ モデル
2 つの質問があります。
C++11 と C11 の標準が同じメモリ モデル仕様を共有するかどうかを知りたいです。私はこれがそうであるように、実際にC11はC++ 11メモリモデルを「継承」していると読んだ(歴史的な理由が何であれ、後者は最初に、または同時に/同じ人々で起こった.主に C++ の担当者が、言いたいことがたくさんありました。
私の次の質問は、GCC がこのメモリ モデルを実装することはあるのでしょうか? 私はこれのロードマップを見ていないので、誰かが「スクープ」を持っているかどうか疑問に思っていました.
c - C11でgets()に相当するものは何ですか?
C 標準の最新の改訂版 (2011 年) では、この関数が仕様から完全に削除されました。
この関数は C++ では非推奨です (2011 標準以降、C99+TC3 に準拠)。
gets()
C11標準の代替手段は何ですか?
c - ビットフィールドの型は何ですか?
これが指定されているC標準のどこにも見つかりません。たとえば、
タイプのfoo.x
左辺値int
ですか、それとも何か他のものですか? int
型の値を 0 または -1 しか格納できないため、型の左辺値であることは不自然に思えますがint
、別の型を割り当てる言語が見つかりません。もちろん、ほとんどの式で使用され、int
いずれにせよ昇格されますが、実際の型は C11 with_Generic
で違いを生み、ビットフィールドがどのように相互作用する_Generic
かについて標準で言語を見つけることができません。
c - Does C11 allow variable declarations at any place in a function?
Does the C11 standard (note I don't mean C++11) allow you to declare variables at any place in a function?
The code below is not valid in ANSI C (C89, C90):
Is it valid source code in C11?
c - Cのブール変数との比較
コードを考えてみましょう:
この関数は、C標準(C99またはC11)に従って何を返しますか?
PSオプション付きのGCC4.7.2では-std=c99
、関数は2を返します。
c - C11 での _Noreturn の使用
重複の可能性:
Noreturn 属性のポイントは何ですか?
C11 では、関数が返されないことを示す_Noreturn属性が導入されました。
ソース コードのドキュメントの価値を除いて、この属性には他にどのような利点がありますか? また、なぜそれを使用するのでしょうか?
c - コンソールウィンドウの既存のテキストの変更
プログラムをインストールすると、コンソールウィンドウにプログレスバー(またはその他の動的に変化するテキスト)が表示されることがあります。表示され、同じ文字列の行で変化します。または他の機能を使用するとprintf
、次のテキストを書き込みますが、コンソールウィンドウで既存のテキストを変更できません。どうすればCを介してそれを行うことができますか?
c - 標準 C でのシフトまたは算術演算の拡張
下手な英語でごめんなさい。
の値とは何a
ですかc
? 任意の整数型の状況とは?
c - 一部の C 標準ヘッダーが「std」で始まるのに、そうでないものがあるのはなぜですか?
たとえば、新しい C11 標準では、 と が追加されていstdalign.h
ますthreads.h
。なぜstdthreads.h
ですかalign.h
?既存のライブラリやシステム ヘッダーとの衝突を避けるためですか?
c - tmpfile_sで制限する目的は何ですか?
C11ドラフトから:
C11(n1570)、§K.3.5.1.1
tmpfile_s
関数
errno_t tmpfile_s(FILE * restrict * restrict streamptr);
restrict
ここでの修飾子の目的は何ですか?
他にパラメータがないので、コンパイラはそれがないとstreamptr
エイリアスされていないことを知ることができrestrict
ますね。