• ifで使用される未定義定数の値は何ですか?

    質問 私のプリプロセッサは、未定義の定数を0とみなして #if の条件を評価するために、未定義の定数は 0 であると仮定しているようです。 これは当てになるのでしょうか、それとも未定義の定数は未定義の動作をするのでしょうか? どのように解決するのですか? はい、頼ることができます。C99規格では§6.10.1 ¶3で規定されています。 マクロ展開と定義された単項演算子に

    2023-11-08 02:42:44
  • ポストインクリメントとプリインクリメントの概念?

    質問 postfixとprefixの増減の概念がよくわかりません。どなたか良い説明をお願いします。 どのように解決するのですか? ここまでの4つの回答はすべて 不正解 というのは、特定の順序を主張しているからです。 その都市伝説を信じることは、多くの初心者 (および専門家) を迷わせ、式の未定義の動作に関する終わりのない質問の流れにつながります。 では 組み込みのC

    2023-11-06 22:35:23
  • long long 2147483647 + 1 = -2147483648となるのはなぜですか?重複

    質問 この質問はすでにここに回答があります : C++リテラル整数型 (回答2件) 終了 1年前 . なぜこのコードは同じ数字を

    2023-11-06 20:58:54
  • voidポインタへのダイナミックキャストの実用的な使い方はあるか?

    質問 C++では T q = dynamic_cast<T>(p); 構造は、ポインタ p を他のポインタ型にキャストします。 T の動的型の継承階層に現れる必要があります。 *p を継承する必要があります。それはすべて問題なく、うまくいきます。 しかし、このような場合にも dynamic_cast<void*>(p) を実行すると、単に "most

    2023-11-06 14:57:20
  • ミューテックスはミュータブルであるべきなのか?

    質問 これがスタイルの質問なのか、それとも厳格なルールがあるものなのかわかりませんが......。 パブリックメソッドインターフェースをできるだけ const に保ちつつ、オブジェクトをスレッドセーフにしたい場合、mutable mutexes を使用すべきでしょうか?一般的に、これは良いスタイルなのでしょうか、それとも const でないメソッドインターフェイスが好ましいのでしょうか?

    2023-11-05 14:06:25
  • MacターミナルでC++11に対応したC++をコンパイルする方法

    質問 Mac ターミナルで C++11 のソース コードをコンパイルしようとしましたが、失敗しました。私は g++ -std=c++11 , g++ -std=c++0x , g++ -std=gnu++11 と g++ -std=gnu++0x を実行しましたが、何も動作しませんでした。ターミナルでは常に unrecognized command line option .

    2023-11-05 07:08:48
  • なぜこのreinterpret_castはコンパイルできないのでしょうか?

    質問 私は、以下のことを理解しています。 reinterpret_cast が危険であることは理解していますが、私はそれをテストするためにこれをやっているだけです。私は以下のようなコードを持っています。 int x = 0; double y = reinterpret_cast<double>(x); プログラムをコンパイルしようとすると、次のようなエラーが表示されま

    2023-11-05 05:54:12
  • std::fstreamからFILE*を取得する

    質問 C++のstd::fstreamからCのFILE*ハンドルを取得する(クロスプラットフォーム)方法はあるのでしょうか? 私が尋ねる理由は、私の C++ ライブラリは fstream を受け入れ、ある特定の関数で FILE* を受け入れる C ライブラリを使用したいからです。 どのように解決するのですか? 簡単に言うと、「いいえ」です。 その理由は std::fstre

    2023-11-04 20:56:12
  • Qt、QtCreator、QMakeにおけるGCCコンパイラのスイッチの設定

    質問 私は最近 Qtクリエータ 1.3.2、Qt 4.6.2、および GCC 4.4.0 (32 ビット版) を Windows 7 (64 ビット) で使用して、実験的な C++0x 拡張機能の一部を使用するアプリケーションをコンパイルしようとしたら、次の (致命的な) エラーに遭遇しました。 このファイルには、次期 ISO C++ 規格である C++0x のコンパイラーとラ

    2023-11-03 19:27:46
  • C++17のstatic constexpr変数とstatic inline変数の違いは何ですか?

    質問 C++17では、インライン変数が使えるようになりました。 インライン変数の用途の1つは、クラスで定数フィールドを定義することです。 では、この2つの定数定義の違いは何でしょう。 class MyClass { static constexpr int myFirstVar = 10; static const inline int mySecondVar =

    2023-11-02 20:37:26
  • printfを使ってsize_tを表示する場合の正しい方法は何ですか?

    質問 Size_t は unsigned の整数ですが、その大きさは32ビットマシンか64ビットマシンかによって異なります。をプリントアウトするための正しく移植性のある方法は何でしょうか? size_t ? どのように解決するのですか? を使用してみてください。 %zu というフォーマット文字列を使ってみてください。 size_t val = get_the_value()

    2023-11-02 14:30:16
  • 整数<->ポインタのキャストは、実際にはいつが正しいのでしょうか?

    質問 一般的な言い伝えでは、次のようになります。 型システムは理由のために存在します。整数とポインタは異なる型であり、その間のキャストはほとんどの場合不正行為であり、設計ミスを示す可能性があり、避けるべきものです。 そのようなキャストを行う場合でも、整数とポインタのサイズについて仮定してはならない(キャスト void* を int は、x64でコードが失敗する最も簡単

    2023-11-01 22:16:05
  • C++で参照を再代入することは可能か?

    質問 参照はその場で初期化されなければならず、再び初期化することはできないと、あらゆるところで読みました。 私の理解を試すために、次のような小さなプログラムを書きました。実際に参照を再割り当てすることに成功したように見えます。どなたか、私のプログラムで実際に何が起こっているのか、説明していただけませんか。 #include &lt;iostream&gt; #include &lt;s

    2023-11-01 10:24:16
  • C++のラムダ式の寿命は?

    質問 (私が読んだのは C++でラムダ由来の暗黙のファンクタの寿命はどのくらいでしょうか? を既に読みましたが、この質問には答えていません)。 C++のラムダ構文は、呼び出し演算子といくつかの状態を持つ匿名クラスのインスタンスを作成するための単なる砂糖であることを理解し、その状態の寿命要件(参照によって値によってキャプチャするかどうかによって決まる)を理解しています。次の例では

    2023-10-30 16:19:27
  • Embedded C++ : STLを使うか使わないか?

    質問 私はいつも組み込みソフトウェアのエンジニアですが、通常は OSI スタックのレイヤー 3 または 2 にいます。ハードウェアはあまり得意ではありません。私は通常、常に電気通信製品、通常は携帯電話、つまり一般的には ARM 7 プロセッサのようなものを扱ってきました。 現在、私はより一般的な組み込みの世界で、小さなスタートアップ企業で、それほど強力ではないプロセッサー (主観的な部分

    2023-10-30 16:13:16
  • std::functionをコピーすべきか、それとも常に参照を取ることができるのか?

    質問 私のC++アプリケーション(Visual Studio 2010を使用)では、次のようなstd::functionを格納する必要があります。 class MyClass { public: typedef std::function&lt;int(int)&gt; MyFunction; MyClass (Myfunction &amp;myFun

    2023-10-30 07:13:23
  • std::lower_bound と std::upper_bound の根拠は?

    質問 STLには2値探索関数 std::lower_bound と std::upper_bound があります。 しかし、私はそれらを使用しない傾向があります。なぜなら、それらが何をするのか思い出せないからです。 なぜなら、それらの契約は私にとって完全に不可解に思えるからです。 名前を見ただけでは "lower_bound" は "last lower bound" の略ではないかと推

    2023-10-29 17:07:46
  • なぜCやC++にはダイグラフがあるのですか?

    疑問点 今日、C99とC++にダイグラフがあることを知りました。 以下は有効なプログラムです。 %:include &lt;stdio.h&gt; %:ifndef BUFSIZE %:define BUFSIZE 512 %:endif void copy(char d&lt;::&gt;, const char s&lt;::&gt;, int len) &lt;% w

    2023-10-29 02:19:22
  • c++でtypename Tをstringに変換する方法 [重複]。

    質問 この質問はすでにここに回答があります : 標準C++で変数の型を表示することは可能ですか? (23の回答) 終了 4年前 .

    2023-10-28 16:59:29
  • C++の自明でないコンストラクタとは何ですか?

    質問 私はこれを読んでいました http://en.wikipedia.org/wiki/C%2B%2B0x#Modification_to_the_definition_of_plain_old_data つまらないデフォルトコンストラクタ、つまらないコピーコンストラクタ、コピー代入演算子、つまらないデストラクタについて言及されています。何がトリビアルで何がトリビアルでないのでし

    2023-10-28 03:24:16