• [解決済み] void *a = &a はどのように合法なのですか?

    質問 以下のC++のコードを考えてみましょう。 void* a = &a; なぜコンパイラは未宣言の識別子を使用しても文句を言わないのでしょうか? また、コンパイラは変数 a をどう考えるか?void オブジェクトへのポインタなのか、それとも void* のポインタでしょうか? どのように解決するのですか? C++の変数の宣言の範囲は、かなり驚くことがあり

    2023-04-10 20:08:12
  • [解決済み] char*をstd::mapのキーとして使用する。

    質問 私は、以下のコードが動作しない理由を解明しようとしています。それは、キーの型として char* を使用する問題であると推測していますが、それを解決する方法またはそれが発生する理由がわかりません。私が使用している他のすべての関数(HL2 SDK内)では、キータイプとして char* を使用するため std::string を使うと余計にややこしいことになりそうです。 std::

    2023-04-10 13:59:52
  • [解決済み] C++11ではvector<const T>が使えるようになりましたか?

    質問 C++03 と C++11 ではコンテナの要件が変わりました。 C++03 では包括的な要件(ベクターのコピー構成可能性や割り当て可能性など)がありましたが、C++11 ではコンテナ操作ごとに細かな要件が定義されています(第 23.2 項)。 その結果、割り当てを必要としない特定の操作のみを実行する限り、たとえば const メンバを持つ構造体など、コピー構築可能だが割り当て不可能

    2023-04-09 19:38:35
  • [解決済み] 共有ライブラリの未解決シンボルのチェックを簡単に?

    質問 私はかなり大きな C++ 共有オブジェクト ライブラリを書いていますが、デバッグを困難にする小さな問題に遭遇しています。 ヘッダー ファイルで関数/メソッドを定義し、そのスタブを作成し忘れても (開発中に)、実行ファイルではなく共有オブジェクト ライブラリとして構築しているため、コンパイル時にその関数を実装し忘れたというエラーは表示されません。何かが間違っていることを知る唯一の方法

    2023-04-08 20:50:21
  • [解決済み] ストリーム全体をstd::stringに読み込むには?

    質問 ストリーム全体(複数行)を文字列に読み込もうとしています。 私はこのコードを使っていて、それは動作しますが、それは私のセンスに不快感を与えています...。もっと簡単な方法があるのではないでしょうか?もしかしたら、stringstreamsを使うとか? void Obj::loadFromStream(std::istream &amp; stream) { std::str

    2023-04-08 17:46:12
  • [解決済み] C++のカンマ演算子とreturnの動作が違う?

    質問 これ( カンマ演算子 ): #include &lt;iostream&gt; int main() { int x; x = 2, 3; std::cout &lt;&lt; x &lt;&lt; "\n"; return 0; } 出力 2 . しかし、もし return をカンマ演算子と一緒に使うと、このようになります。

    2023-04-08 15:53:15
  • [解決済み] なぜC++には基底クラスがないのですか?

    疑問点 設計の観点から言うと、C++では、なぜすべてのベースクラスの母体がないのでしょうか? object であるような基底クラスがないのはなぜでしょうか? どのように解決するのですか? 決定的な裁定は StroustrupのFAQ . 要するに、意味的には何も伝わらないのです。コストがかかる。テンプレートはコンテナの方が便利です。 なぜ C++ には普遍的なクラス O

    2023-04-08 06:18:10
  • [解決済み] std::string 比較 (文字列が他の文字列で始まっているかどうか調べる)

    質問 std:stringが"xyz"で始まっているかどうかをチェックする必要があります。文字列全体を検索したり、substr()で一時的な文字列を作成したりせずにそれを行うにはどうすればよいですか。 どのように解決するのですか? 比較方式を使用します。 std::string s("xyzblahblah"); std::string t("xyz") if (s.compar

    2023-04-08 05:01:22
  • [解決済み] メンバーデフォルト値ベストプラクティス

    質問内容 C++11 のコードを書くとき、クラスのヘッダー ファイルでクラス メンバのデフォルト値を設定するのはよい習慣ですか。 それとも、クラスのコンストラクターで行う方が良いのでしょうか? EDITです。 つまり foo.h : #include &lt;string&gt; using std::string; class Foo{ private:

    2023-04-06 10:51:45
  • [解決済み] プレーン配列の範囲指定はどのように行われるのですか?

    質問 C++11 では、範囲ベースの for として機能します。 foreach のような役割を果たします。これはC言語のプレーンな配列でも動作します。 int numbers[] = { 1, 2, 3, 4, 5 }; for (int&amp; n : numbers) { n *= 2; } 停止するタイミングはどのように知るのでしょうか?と同じスコープで宣言され

    2023-04-05 23:42:35
  • [解決済み] C++でいうところの単相化とは?

    質問 Dave Hermanの最近の講演 で、Rust はこのプロパティを C++ から借用したと言っていました。このトピックの周辺には何も見つかりませんでした。どなたか、単相化が何を意味するのか説明していただけませんか? どのように解決するのですか? 単形化とは、一般的な関数を特殊化したものを生成することです。任意のペアの最初の要素を抽出する関数を書くとしたら fn fir

    2023-04-05 23:01:27
  • [解決済み] 範囲指定型forループを使用する際のイテレータの必要性

    質問 現在、これを使ってレンジベースループしかできません。 for (auto&amp; value : values) しかし、時々、参照ではなく、値へのイテレータが必要になることがあります(何らかの理由で)。値を比較するためにベクトル全体を通過することなく、何らかの方法があるのでしょうか? どのように解決するのですか? 古い for のようなループを使用します。 f

    2023-04-05 22:29:23
  • [解決済み] 4x4行列の逆行列

    質問 4x4の行列を反転させる方法の実装サンプルを探しています。私はGaussian eleminiation、LU分解などがあることを知っていますが、それらを詳細に見る代わりに、私は本当にこれを行うためのコードを探しています。 言語は理想的にはC++、データは列-長順の16個の浮動小数点数の配列で利用可能です。 どのように解決するのですか? こちらをご覧ください。 bool

    2023-04-05 19:34:39
  • [解決済み] C++で環境変数にアクセスする

    質問 私は $HOME 環境変数にアクセスしたいのですが。もし私が C でコードを書いていたなら、私は単に getenv() 関数を使うだけですが、もっといい方法はないかと考えていました。以下は、今のところあるコードです。 std::string get_env_var( std::string const &amp; key ) {

    2023-04-05 16:09:26
  • [解決済み] streambufとは何ですか?どう使えばいいのですか?

    質問 C++でI/Oストリームがどのように動作するかについてもう少し学びたいのですが、いつ何を使えばいいのか本当に混乱しています。 正確には streambuf ? を使用するのはいつですか? streambuf と比較して string に比べて istream または vector ? (最後の3つは既に知っていますが、どのように streambuf がそれらに比べ

    2023-04-05 04:55:04
  • [解決済み] fallthrough]]を使用してもGCCがフォールスルーについて警告するのはなぜですか?

    質問 次のコードでは、標準的な [[fallthrough]] 属性を使用して、フォールスルーが必要であることを文書化しています。 #include &lt;iostream&gt; int main() { switch (0) { case 0: std::cout &lt;&lt; "a\n"; [[f

    2023-04-04 20:49:39
  • [解決済み] C++で配列を参照渡しする

    質問 は、配列を参照渡ししてもよいのでしょうか? void foo(double&amp; *bar) 私のコンパイラはダメだと言っているようです。なぜですか?配列を参照で渡すための適切な方法は何ですか?または回避策は?私は、私のメソッドが変更する必要があり、後で取得する必要がある配列の引数を持っています。代わりに、私はこの配列をクラスのメンバーにすることができ、それはうまくいき

    2023-04-04 20:25:35
  • [解決済み] なぜ'A'という文字は0x41と比較されるのでしょうか?

    疑問点 C++のコードを見ていたら、以下のような構成が見つかりました。 if('A' == 0x41) { // ... } else if('A' == 0xc1) { // ... } else { // ... } を取得します。 ビジュアルスタジオ という警告が表示されます。 警告 C4127 条件式が定数です。 Visual Studioは明ら

    2023-04-04 19:01:22
  • [解決済み] ifdefのブーリアン: "#ifdef A && B" は "#if defined(A) && defined(B)" と同じか?

    質問 C++で、これは。 #ifdef A &amp;&amp; B と同じです。 #if defined(A) &amp;&amp; defined(B) ? 違うと思っていたのですが、私のコンパイラ(VS2005)では違いが分かりませんでした。 どのように解決するのですか? これらは同じではありません。最初のものは動作しません (私は gcc 4.4.1 でテ

    2023-04-04 08:16:53
  • [解決済み] std::vector::resize() vs. std::vector::reserve()

    質問 のコメント欄には、以下のようなスレッドがあります。 この記事 の使用について std::vector::reserve() 対 std::vector::resize() . 以下は元のコードです。 void MyClass::my_method() { my_member.reserve(n_dim); for(int k = 0 ; k &lt;

    2023-04-04 06:13:12