• C++で動的に割り当てられたオブジェクトへのポインタのベクトルを使用する場合、メモリリークを回避する方法は?

    質問 オブジェクトへのポインタのベクトルを使用しています。これらのオブジェクトはベースクラスから派生したもので、動的に割り当てられて格納されます。 例えばこんな感じです。 vector<Enemy*> Enemies; で、Enemyクラスから派生して、派生クラスのメモリを動的に確保する、こんな感じです。 enemies.push_back(new Monster(

    2023-10-14 18:05:08
  • 明示的な型パラメータを持つテンプレート・メンバー関数を呼び出そうとするとエラーが発生するのはなぜですか?

    質問 私はそれを理解しません、それはへの呼び出しがあるように私には思えます。 f の呼び出しは完全に曖昧ではないのですが、コンパイル時に expected primary-expression before ‘int’ . を呼び出している行をコメントアウトすると f を呼び出す行をコメントアウトすると、うまくコンパイルされます。 template<typename T>

    2023-10-14 12:16:19
  • c++ 配列の複数値への代入

    質問 というように、配列を初期化するときに、一箇所で複数の値を代入することができます。 int array [] = {1,3,34,5,6} しかし、配列がすでに初期化されていて、その配列の要素の値を一行で完全に置き換えたい場合はどうすればよいのでしょうか。 なので int array [] = {1,3,34,5,6} array [] = {34,2,4,5,6}

    2023-10-14 05:33:54
  • C++で簡単な設定ファイルとパーサを作成する

    質問 私は以下のような簡単な設定ファイルを作ろうとしています。 url = http://mysite.com file = main.exe true = 0 プログラムの実行時に、以下のプログラム変数にコンフィギュレーション設定をロードしてほしい。 string url, file; bool true_false; いろいろ調べてみたところ これ のリンクが役に

    2023-10-13 16:49:26
  • C++におけるオブジェクトの破壊

    質問 C++でオブジェクトが破棄されるのは正確にはいつですか、そしてそれはどういう意味ですか。ガーベッジコレクタがないので、手動で破棄しなければならないのでしょうか。例外はどのように発生するのでしょうか。 (注意: これは Stack Overflow の C++ FAQ . もし、このような形でFAQを提供するという考えを批判したいのであれば このすべての始まりとなった

    2023-10-12 19:20:40
  • C++:戻り値はL値か?

    質問 このコードを考えてみましょう。 struct foo { int a; }; foo q() { foo f; f.a =4; return f;} int main() { foo i; i.a = 5; q() = i; } Clangでさえも文句を言うコンパイラはありません。なぜかというと q() = ... の行は正しいのでしょうか? どのよ

    2023-10-12 15:09:16
  • 整数浮動小数点数の割り算は1.fになることが保証されているのですか?

    質問 と書くと int x = /* any non-zero integer value */; float y = x; float z = y / y; は z は正確に1.fであることが保証されていますか? どのように解決するのですか? C++の実装がIEEE754を使用している場合、はい、これは保証されています。(除算演算子は、可能な限り最適な浮動小数点値を返す

    2023-10-12 09:32:31
  • ベクトルポインタをデリファレンスして要素にアクセスする

    質問 C++でベクトルへのポインタを持っている場合。 vector<int>* vecPtr; そして、ベクトルの要素にアクセスしたいのですが、その場合、ベクトルの参照を解除することで可能です。 int a = (*vecPtr)[i]; しかし、このデリファレンスは実際にスタック上にvectorのコピーを作成するのでしょうか? 例えば、vectorが10000i

    2023-10-12 07:38:55
  • C言語ではいつビットフィールドを使うのか?

    質問 なぜビットフィールドを使う必要があるのか」という質問について、Googleで検索したところ、ビットフィールドはフラグに使われることがわかりました。 今、私は好奇心でいっぱいです。 ビットフィールドの実用的な使い方はこれだけなのでしょうか? スペースを節約するためにビットフィールドを使用する必要があるのでしょうか? 本から見たビットフィールドの定義方法。 str

    2023-10-11 18:30:27
  • static variable link error [duplicate] 静的変数リンクエラー [重複] 静的変数リンクエラー

    質問内容 この質問はすでにここに回答があります : 静的クラスメンバへの未定義の参照 (9つの回答) 終了 12ヶ月前 . Ma

    2023-10-11 09:06:01
  • OpenMPでは、なぜ!=演算子が使えないのですか?

    疑問点 以下のコードをコンパイルしようとしていました。 #pragma omp parallel shared (j) { #pragma omp for schedule(dynamic) for(i = 0; i != j; i++) { // do something } } を作成しましたが、以下のエラーが発生しました。 error: i

    2023-10-11 08:42:01
  • c++ integer->std::string 変換。単純な関数?

    質問 問題:整数があります。この整数をstl::string型に変換する必要があります。 過去に、私は stringstream を使って変換していましたが、これはちょっと面倒です。Cのやり方は sprintf であることは知っていますが、私はむしろタイプセーフなC++のメソッドを使いたいのです。 これを行うためのより良い方法はありますか? 私が過去に使ったことのあるストリ

    2023-10-10 19:29:37
  • 戻り値の型は関数シグネチャの一部ですか?

    質問 C++では、戻り値の型は関数シグネチャの一部とみなされますか? また、戻り値の型を変更しただけのオーバーロードは許されません。 どのように解決するのですか? 通常の関数では、シグネチャに戻り値の型が含まれません。 ( ノート : 私はこの回答を書き直したので、以下のコメントはこのリビジョンには適用されません - 詳細は編集履歴をご覧ください)。 はじめに し

    2023-10-10 10:32:24
  • このtypedef文は何を意味しているのですか?

    質問 C++のリファレンスページで、いくつかのtypedefの例を提供していますが、その意味を理解しようとしています。 // simple typedef typedef unsigned long mylong; // more complicated typedef typedef int int_t, *intp_t, (&fp)(int, mylong), arr_t[

    2023-10-09 11:20:01
  • なぜコピー代入演算子は、参照/CONST参照を返さなければならないのですか?

    疑問点 C++で、コピー代入演算子から参照を返すという概念が不明です。なぜコピー代入演算子は新しいオブジェクトのコピーを返すことができないのでしょうか。さらに、もし私がクラス A というクラスがあり、以下のように A a1(param); A a2 = a1; A a3; a3 = a2; //<--- this is the problematic line は ope

    2023-10-09 07:20:53
  • c++による高速なテキストファイルの読み込み

    質問 私は現在、たくさんの大きなテキストファイルを読むことを含むプログラムをc++で書いています。それぞれは、極端な場合、1行あたり4000文字以上で、~400.000行あります。テストのために、ifstream と cplusplus.com によって提供される実装を使用して、ファイルの 1 つを読みました。その結果、約60秒かかりましたが、これはあまりにも長すぎます。今思ったのですが、読

    2023-10-08 23:02:29
  • PythonとC++の統合

    質問 C++はとても柔軟な言語なので、勉強しています。しかし、Twitter、Facebook、Deliciousなどのようなインターネット上のものについては、Pythonの方がはるかに良いソリューションのように思われます。 同じプロジェクトでC++とPythonを統合することは可能なのでしょうか? どのように解決するのですか? PythonとC/C++を連動させるのは簡単なこと

    2023-10-07 20:21:04
  • Windows用ベストC++ IDEまたはエディタ

    質問 ロックされています。 . この質問とその回答は ロックされている というのも、この質問はトピックから外れていますが、歴史的な意義があります。現在、新しい回答やインタラクションを受け入れていません。 Windows で使用するための最良の C++ I

    2023-10-07 06:28:01
  • リンクタイム最適化(LTO)を使用しない理由はありますか?

    質問 GCC、MSVC、LLVM、そしておそらく他のツールチェーンは、コンパイルユニット間の呼び出しの最適化を可能にするリンク時(プログラム全体)最適化のサポートを持っています。 量産用ソフトウェアをコンパイルする際にこのオプションを有効にしない理由はあるのでしょうか? どのように解決するのですか? 私は 製品版ソフトウェア" というのは、顧客に出荷する/生産に

    2023-10-06 17:52:40
  • C++:関数/メソッド宣言におけるアンパサンド「&」とアスタリスク「*」の違い?

    質問 何か微妙な違いがあるのでしょうか。 void a1(float &b) { b=1; }; a1(b); と void a1(float *b) { (*b)=1; }; a1(&b); ? どちらも同じことをする(あるいはmain()からそう見える)のですが、最初のものの方が明らかに短いです。しかし、私が見るコードのほとんどは2番目

    2023-10-06 12:55:30