• [解決済み] C++17で導入された評価順序の保証とは何ですか?

    質問 での投票の意味は何ですか? C++17 の評価順序の保証 (P0145) に投票されたことは、典型的な C++ コードにどのような影響を与えますか。 などについて何が変わるのでしょうか? i = 1; f(i++, i) と std::cout << f() << f() << f(); または f(g(), h(), j

    2023-01-05 09:07:16
  • [解決済み] なぜコピーコンストラクタでプライベート変数にアクセスできるのですか?

    質問 プライベート変数にアクセスできるのは、クラス内のget関数だけだと知りました。しかし、それならなぜコピーコンストラクタでアクセスできるのでしょうか? 例を挙げます。 Field::Field(const Field& f) { pFirst = new T[f.capacity()]; pLast = pFirst + (f.pLast - f.pFirst);

    2023-01-05 01:27:36
  • [解決済み] 複数のforループをきれいに書く方法

    質問 多次元の配列の場合、通常は for ループを書く必要があります。例えば vector< vector< vector<int> > > A; for (int k=0; k<A.size(); k++) { for (int i=0; i<A[k].size(); i++) { for (int j

    2023-01-04 20:53:51
  • [解決済み] C++オブジェクトのメンバ変数をコンストラクタで初期化するにはどうすればよいですか?

    質問 メンバー変数としていくつかのオブジェクトを持つクラスがあります。これらのメンバのコンストラクタが宣言されたときに呼び出されないようにしたいので、明示的にオブジェクトへのポインタを保持しようとしています。私は何をやっているのか全く分かりません。 オブジェクトのメンバ変数を初期化するときにコンストラクタがすぐに呼び出される、次のようなことができるかもしれないと思いました。 class

    2023-01-04 20:21:23
  • [解決済み] 非仮想的なメソッドのオーバーライド

    質問 Visual C++ 2010でこのようなシナリオを想定してみましょう。 #include <iostream> #include <conio.h> using namespace std; class Base { public: int b; void Display() { cout<<"Base

    2023-01-04 18:48:19
  • [解決済み] C++でmovable型のmutexをどのように扱えばいいですか?

    質問 デザインで std::mutex は移動もコピーもできません。これは、クラス A はデフォルトの移動コンストラクタを受け取らないということです。 どのようにしてこの型を A をスレッドセーフな方法で移動可能にするにはどうしたらよいでしょうか? どのように解決するのですか? まずは、ちょっとしたコードから。 class A { using MutexTy

    2023-01-04 17:26:01
  • [解決済み] C++におけるlong long intとlong intとint64_tの比較

    質問 私は C++ の型特性を使用しているときにいくつかの奇妙な動作を経験し、私の問題をこの風変わりで小さな問題に絞り込みました。 このようなプログラムを持っているとします。 #include <iostream> #include <cstdint> template <typename T> bool is_int64() { return f

    2023-01-04 16:10:06
  • [解決済み] C++の仮想関数を安全にオーバーライドする

    質問 仮想関数を持つ基底クラスがあり、派生クラスでその関数をオーバーライドしたいです。派生クラスで宣言した関数が実際にベースクラスの関数をオーバーライドしているかどうかをコンパイラにチェックさせる方法はありますか。私は、古いものをオーバーライドする代わりに、誤って新しい関数を宣言しないことを保証するいくつかのマクロか何かを追加したいと思います。 この例を見てください。 class pa

    2023-01-04 11:38:29
  • [解決済み] std::futureのステータスを取得する

    質問 を確認することは可能ですか? std::future が終了したかどうかを確認することはできますか?私が知る限りでは、これを行う唯一の方法は wait_for をゼロデュレーションで呼び出し、ステータスが ready であるかどうかをチェックしますが、より良い方法はありますか? どのように解決するのですか? おっしゃるとおりで wait_until を過去の時間で

    2023-01-03 15:46:52
  • [解決済み] Windowsレジストリから値を読み取る方法

    質問 あるレジストリ値のキー (例 HKEY_LOCAL_MACHINE_blahblah_foo) が与えられた場合、どのようにすればよいですか。 そのようなキーが存在することを安全に判断します。 プログラム的に (すなわちコードで) その値を取得する。 私はレジストリに何かを書き戻すつもりはまったくありません (可能であれば、私のキャリアの期間中)。したがって、レジストリ

    2023-01-03 09:56:24
  • [解決済み] ユニオンとタイプパンク

    質問 ずっと検索しているのですが、明確な答えが見つかりません。 多くの人が、ユニオンを使ってタイプパンをすることは未定義であり、悪い習慣だと言っています。これはなぜでしょうか。元の情報を書き込んだメモリが勝手に変更されないことを考えると、それが未定義の何かを行う理由は見当たりません (スタック上のスコープの外に出ない限り、それはユニオンの問題ではなく、設計の誤りでしょう)。 厳密なエ

    2023-01-03 06:58:42
  • [解決済み] c++のenumクラスの要素数を決定することはできますか?

    質問 c++ のカーディナリティを決定することは可能でしょうか? enum class : enum class Example { A, B, C, D, E }; を使おうとしたのですが sizeof を使ってみましたが、enum要素の大きさを返してしまいます。 sizeof(Example); // Returns 4 (on my architecture) 基数(

    2023-01-02 18:54:27
  • [解決済み] const std::string& を受け取る関数が 0 を受け取らないようにする。

    質問 千の言葉に匹敵する。 #include<string> #include<iostream> class SayWhat { public: SayWhat& operator[](const std::string& s) { std::cout << s << "\n";

    2023-01-02 17:25:06
  • [解決済み] g++ -Wall test.cpp -o test "の"-Wall "は何を意味するのですか?

    質問 -o は出力ファイル名を変更します (私は --help を使って見つけました)。 しかし、私は何を見つけることができません -Wall は何をするのか? どのように解決するのですか? これは "warn all" の略で、g++ が教えてくれる警告を (ほとんど) すべて表示するものです。一般的に、特に初心者の場合は、これらの警告を理解し修正することで、コード内の多く

    2023-01-02 17:09:40
  • [解決済み] FIFOに使用するSTLコンテナはどれですか?

    質問 どのSTLコンテナが私のニーズに最も合うでしょうか?私は基本的に10要素幅のコンテナを持っており、その中に継続的に push_back 新しい要素を追加しながら pop_front は最も古い要素になります(約100万回)。 現在、私が使っているのは std::deque を使っていますが、このタスクに std::list の方が、再割り当てする必要がないので、より

    2023-01-02 13:47:50
  • [解決済み] C++ 警告: ゼロによるダブルの除算

    質問 ケース1です。 #include <iostream> int main() { double d = 15.50; std::cout<<(d/0.0)<<std::endl; } 警告を出さずにコンパイルして inf . OK、C++はゼロによる除算を扱うことができます、( ライブを見る ). しかし

    2023-01-02 12:55:59
  • [解決済み] C++でBoostを使ったUUID生成の例

    質問 私のプログラムでは、インスタンスが一意な識別子を持つことが重要なので、ランダムな UUID を生成したいのです。私は ブースト UUID を調べましたが、どのクラスとメソッドを使用するかが分からないので、UUIDを生成することができません。 どなたか実現するための例を教えていただけると幸いです。 どのように解決するのですか? 基本的な例です。 #include &l

    2023-01-02 11:15:55
  • [解決済み] クラスメンバを使用したC++コールバック

    質問 これは何度も質問されていることですが、そのため、何がうまくいくかの簡単な例を見つけるのが難しいのです。 私はこれを持っています。これは単純で、次のように動作します。 MyClass ... #include <iostream> using std::cout; using std::endl; class MyClass { public:

    2023-01-01 22:55:53
  • [解決済み] ベースへのポインタは、派生オブジェクトの配列を指すことができますか?

    質問 今日、面接に行ったのですが、こんな面白い質問をされました。 メモリ リークと仮想 dtor がないことのほかに、なぜこのコードはクラッシュするのでしょうか? #include <iostream> //besides the obvious mem leak, why does this code crash? class Shape { public:

    2023-01-01 22:38:29
  • [解決済み] const-correctnessはパフォーマンスを向上させるか?

    質問 C や C++のコードで const-correctness を強制することは、保守性に関して良い習慣であるだけでなく、コンパイラが最適化を実行できるようになるかもしれないと何度も読んだことがあります。しかし、私は全く逆のことも読みました。つまり、それはパフォーマンスにまったく影響を与えないということです。 したがって、プログラムのパフォーマンスを向上させるために、const co

    2023-01-01 20:07:18