• [解決済み】なぜC++プログラマは'new'の使用を最小限に抑えなければならないのでしょうか?

    質問 私は偶然に スタックオーバーフロー 質問 std::list<std::string> を使用した場合の std::string でのメモリリーク。 , および コメント にはこう書かれています。 使用停止 new が多いですね。新しいものを使う理由がどこにもない。 ということです。で値によってオブジェクトを作成することができます。 C

    2022-03-23 02:32:09
  • [解決済み] 整数を2で割る場合、どちらがよいでしょうか?

    質問 整数を2で割る方法として、次のうちどれが最も適しているか、またその理由は? 技法1: x = x >> 1; 技術2: x = x / 2; ここで x は整数です。 どのように解決するのですか? あなたが行おうとしていることを最もよく表している操作を使用してください。 数値をビット列として扱う場合は、bitshiftを使用します。

    2022-03-22 23:14:09
  • [解決済み] マクロで無意味なdo-while文やif-else文を使っているのはなぜですか?

    質問 多くのC/C++マクロで、マクロのコードが無意味な do while のループになります。 以下はその例です。 #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else が何なのかがわからない。 do while は何をしているのでしょうか? なぜ、それをし

    2022-03-22 21:54:03
  • [解決済み] キャッシュフレンドリーコードとは何ですか?

    質問 とquotの違いは何ですか? キャッシュフレンドリーコード "と、" キャッシュフレンドリー "コードは? キャッシュ効率の良いコードを書くにはどうしたらいいですか? どのように解決するのですか? 前置き 最近のコンピュータでは、最下位レベルのメモリ構造( レジスター は、1クロックサイクルでデータを移動させることができます。しかし、レジスタは非常に高価で

    2022-03-22 13:07:27
  • [解決済み] ある要素がstd::setに含まれているかどうかを確認する方法は?

    質問 ある要素がセットに含まれていることを確認するにはどうすればよいですか? 次のコードに相当する、より単純なものはありますか。 myset.find(x) != myset.end() 解決方法は? のような多くのSTLコンテナで存在を確認する典型的な方法です。 std::map , std::set , ...です。 const bool is_in = contai

    2022-03-22 06:24:02
  • [解決済み] リファレンスとポインタの使い分け

    質問 ポインタと参照の構文と一般的な意味合いは理解していますが、APIで参照とポインタのどちらを使うのが適切か、どのように判断したらよいでしょうか? 当然ながら、状況によってはどちらか一方が必要です ( operator++ しかし、一般的には、ポインタ(およびconstポインタ)を使用することを好むと思います。 例えば、以下のようなコードで。 void add_one(int&

    2022-03-22 06:23:16
  • [解決済み] C++の関数内のスタティック変数のライフタイムは?

    質問 という変数が宣言されている場合 static は一度だけ初期化され、関数が呼び出されるたびにその値を保持します。その寿命とはいったい何でしょうか?また、コンストラクタやデストラクタはいつ呼び出されるのでしょうか? void foo() { static string plonk = "When will I die?"; } 解決方法は? 関数の寿命 st

    2022-03-22 04:41:05
  • [解決済み] コンストラクタや関数に unique_ptr 引数を渡すにはどうしたらいいですか?

    質問 C++11のmoveセマンティクスに慣れていないため、以下の処理方法がよくわかりません。 unique_ptr パラメータを使用します。このクラスが自分自身を参照することを考えてみましょう。 #include <memory> class Base { public: typedef unique_ptr<Base> UPtr; B

    2022-03-22 02:37:25
  • [解決済み] 関数のパラメータに 'const' を使用する

    質問 をどこまで使うか? const ? ただ単に関数を作るだけですか? const 必要なときに使うのか、それとも徹底的に使いまくるのか? 例えば、一つのブーリアン引数を取る単純なミューテーターを想像してください。 void SetValue(const bool b) { my_val_ = b; } それは const 実際に役に立つのでしょうか? 個人的にはパラメータ

    2022-03-22 01:52:29
  • [解決済み] push_back vs emplace_back

    質問 との違いについて、少し混乱しています。 push_back と emplace_back . void emplace_back(Type&& _Val); void push_back(const Type& _Val); void push_back(Type&& _Val); があるため push_back の目的は何なので

    2022-03-22 01:43:37
  • [解決済み] コピーエリジョンと戻り値の最適化とは何ですか?

    質問 コピーエリジョンとは何ですか?戻り値の最適化(名前付き)とは何ですか?これらは何を意味しているのですか? どのような場合に発生するのでしょうか?また、どのような制限がありますか? この質問を参照された方は、おそらく次のようなものを探していると思います。 序章 . 技術的な概要については 標準リファレンス . 参照 よくある事例 こちら .

    2022-03-22 01:10:40
  • [解決済み] 関数からunique_ptrを返す

    質問 unique_ptr<T> はコピー構築を許可せず、代わりに移動セマンティクスをサポートします。しかし、私は unique_ptr<T> 関数から返された値を変数に代入しています。 #include <iostream> #include <memory> using namespace std; unique_ptr<

    2022-03-21 23:04:23
  • [解決済み] 配置換え」にはどんな使い方があるのか?

    質問 C++の"placement new"を使ったことがある方はいらっしゃいますか?もしあれば、何のために?メモリマップドハードウェアにしか使えないような気がするのですが。 どのように解決するのですか? Placement new を使用すると、すでに割り当てられているメモリ内にオブジェクトを構築することができます。 あるオブジェクトの複数のインスタンスを作成する必要があり、新

    2022-03-21 21:35:45
  • [解決済み] ダイナミックライブラリとスタティックライブラリの使い分け

    質問 C++でクラスライブラリを作成する場合、動的( .dll , .so ) と静的 ( .lib , .a ) ライブラリです。この2つの違いは何ですか? どのように解決するのですか? スタティック・ライブラリは、バイナリ内のコードのサイズを増加させます。スタティック・ライブラリは常にロードされ、コンパイルしたコードのバージョンがそのまま実行されるバージョンとなります。

    2022-03-21 19:10:20
  • [解決済み] std::vector に対する反復処理: 符号なしインデックス変数と符号ありインデックス変数の比較

    質問 C++でベクトルを反復処理する正しい方法は何ですか? これらの2つのコードフラグメントを考えてみてください、こちらは問題なく動作します。 for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } とこれです。 for (int i=0; i < polygon.size();

    2022-03-21 16:57:04
  • [解決済み] C++11 rvalues と移動セマンティクスの混乱(return 文)

    質問 C++11のrvalue参照と移動のセマンティクスを理解しようとしています。 これらの例のうち、ベクターコピーをしないのはどちらでしょうか? 最初の例 std::vector<int> return_vector(void) { std::vector<int> tmp {1,2,3,4,5}; return tmp; } std::

    2022-03-21 13:22:42
  • [解決済み] error: 'this' 引数に xxx を渡すと修飾子が消える

    質問 #include <iostream> #include <set> using namespace std; class StudentT { public: int id; string name; public: StudentT(int _id, string _name) : id(_id), name(_name) {

    2022-03-21 13:18:23
  • [解決済み] C++のPOD型とは何ですか?

    質問 POD型という言葉を何度か目にしたことがあるのですが、これはどういう意味ですか? どういう意味ですか? どのように解決するのですか? POD は プレーンオールドデータ - つまり、クラスは(キーワード struct またはキーワード class )で、コンストラクタ、デストラクタ、仮想メンバー関数はありません。 ウィキペディアのPODに関する記事

    2022-03-21 13:03:01
  • [解決済み] 些細なキーの場合、unordered_mapよりもmapを使用する利点はありますか?

    質問 最近の話題は unordered_map を使うべきであると気づかされました。 unordered_map を使用していたほとんどのケースで map 以前は、ルックアップの効率性から、( 償却済みO(1) 対して O(log n) ). 私がマップを使う場合、ほとんどの場合、どちらか一方を使います。 int または std::string をキータイプに

    2022-03-21 12:43:43
  • [解決済み] C++で、仮想基底クラスとは何ですか?

    質問 を知りたいのですが。 仮想基底クラス "とは何か、その意味を教えてください。 例を挙げてみよう。 class Foo { public: void DoSomething() { /* ... */ } }; class Bar : public virtual Foo { public: void DoSpecific() { /* ... */ } };

    2022-03-21 11:38:06