• [解決済み] なぜ、#pragma onceは自動的に仮定されないのですか?

    質問 一度だけファイルをインクルードするようにコンパイラに特別に指示する意味は何でしょうか?デフォルトでは意味がないのでしょうか?1 つのファイルを複数回インクルードする理由はあるのでしょうか?なぜそれを仮定しないのでしょうか?それは特定のハードウェアに関係しているのでしょうか? どのように解決するのですか? ここには、複数の関連する質問があります。 なぜ #pragma

    2023-07-24 07:59:59
  • [解決済み] C++のPointer-to-Member ->* と .* 演算子とは何ですか?

    質問 はい、私は この質問 と このFAQ がありますが、私は まだ は理解できません。 ->* と .* はC++で意味します。 これらのページでは、情報 について 演算子に関する情報 (オーバーロードなど) を提供していますが、演算子がどのようなものであるかはよく説明されていないようです。 は . は何ですか? ->* と

    2023-07-22 22:22:54
  • STLベクターのソート方法は?

    質問 を並べ替えたいのですが vector vector<myClass> object; ここで myclass には多くの int 変数が含まれています。どのようにすれば、私の vector の特定のデータ変数で myClass . どのように解決するのですか? less than 演算子をオーバーロードして、ソートする。これは私がウェブで見つ

    2023-07-22 12:30:04
  • [解決済み] C++の文字列を複数行に分割する (構文解析ではなくコード構文解析)

    質問 文字列をパースして賢く分割する方法と混同しないように、例. C++で文字列を分割する? c++で文字列を複数行に分割する方法について、私は少し混乱しています。 これは簡単な質問のように聞こえますが、次の例を見てください。 #include <iostream> #include <string> main() { //Gives error

    2023-07-22 04:36:42
  • [解決済み] do {...} while ( )」ループの必要性はあるのでしょうか?

    質問 Bjarne Stroustrup (C++ の作者) はかつて、自分は "do/while" ループを避け、代わりに "while" ループでコードを記述することを好むと言いました。[以下の引用を参照]。 これを聞いてから、私はこれが真実であることを知りました。 皆さんはどう思われますか? 代わりに"while"を使うよりも、"do/while"の方がずっときれいでわかりやすい例

    2023-07-21 16:52:58
  • [解決済み] C++でbig intを実装する方法

    質問 プログラミングの練習として、C++でlong intより大きな数を扱えるbig intクラスを実装したいと思っています。 すでにいくつかのオープンソースの実装があることは知っていますが、自分自身で書いてみたいと思っています。 私は、正しいアプローチが何であるかについて感触を得ようとしています。 一般的な戦略は、文字列として数値を取得し、それをより小さな数値(例えば一桁)に分割し、配

    2023-07-21 12:50:21
  • [解決済み] なぜ std::array には、配列に格納する値を受け取るコンストラクタがないのですか?

    質問 がないのはなぜですか? std::array<T,size>::array(const T& value); は見落としか?私にはとても便利なものに思えますし、ダイナミックコンテナ(例えば std::vector のような) 動的コンテナには同様のコンストラクタがあります。 を十分に理解しています。 std::array<T,size>:

    2023-07-21 09:14:13
  • [解決済み] 数値リテラルに対するULL接尾辞

    質問 このようなコードに出くわしたことがあります。 line += addr & 0x3fULL; 明らかに、'U' と 'L' は 16 進数ではありません。 16 進数の数値リテラルの最後の 'ULL' は "Unsigned Long Long" を意味すると思いますが、正しいですか? (この種のことをグーグル検索するのは非常に困難です) もしそうなら、これは数値のサ

    2023-07-21 01:24:09
  • [解決済み] 仮想デストラクタは継承されるのか?

    質問 仮想デストラクタを持つ基底クラスがある場合、派生クラスも仮想デストラクタを宣言する必要がありますか?派生クラスも仮想デストラクタを宣言しなければならないのでしょうか? class base { public: virtual ~base () {} }; class derived : base { public: virtual ~derived () {} //

    2023-07-20 08:43:42
  • [解決済み] ヒープにあるデータへのアクセスは、スタックからよりも速いのですか?

    質問 これは一般的な質問に聞こえるでしょうし、多くの似たような質問を(ここでもウェブ上でも)見てきましたが、どれも私のジレンマのようなものではありませんでした。 私がこのコードを持っているとします。 void GetSomeData(char* buffer) { // put some data in buffer } int main() { char buff

    2023-07-20 05:55:38
  • [解決済み] xの代わりにaddressof(x)を使用するのはどのような場合ですか?

    質問 を必要とするかどうかは、どのように判断すればよいのでしょうか? addressof(x) の代わりに &x に変更することはできますか? 質問が混乱していたようなので、明確化する必要があるようです。 addressof は明らかにオーバーロードされた address-of 演算子をバイパスしています。 それはもうわかっている。 私が知りたいのは

    2023-07-19 05:47:02
  • スタック上に確保された変数に対する delete の呼びかけ

    質問 プログラミングのスタイルやデザインを無視して、スタック上に確保された変数に対して delete を呼び出すことは安全ですか? たとえば int nAmount; delete &nAmount; または class sample { public: sample(); ~sample() { delete &nAmount;}

    2023-07-19 05:02:39
  • "template<>"と "template "の括弧なし比較 - その違いは?

    質問 宣言したとします。 template &lt;typename T&gt; void foo(T&amp; t); では template &lt;&gt; void foo&lt;int&gt;(int&amp; t); と template void foo&lt;int&gt;(int&amp; t); という意味ですか?また、template-with

    2023-07-18 16:53:25
  • [解決済み] 実質的に無限と思われるforループ

    質問 現在、あるコードをデバッグしているのですが、このような行に出くわしました。 for (std::size_t j = M; j &lt;= M; --j) (休日出勤の上司が書きました) 私には本当に奇異に見えます。 これはどうなっているのでしょうか?私には、無限ループのように見えます。 どのように解決するのですか? std::size_t は、C++標準によ

    2023-07-18 14:25:14
  • [解決済み] clangの-Wweak-vtablesの意味は何ですか?

    質問 私は基本的にclangの -Wweak-vtables . 以下は、私がこれまでに観察したことです。 ケース1 (警告が表示されます) class A { public: virtual ~A(){} }; class B : public A { public: virtual ~B(){} }; int main()

    2023-07-18 13:45:23
  • [解決済み] なぜコードは積極的にテールコールの最適化を防ごうとするのだろうか?

    疑問点 質問のタイトルは少し奇妙かもしれませんが、私の知る限りでは、テールコールの最適化に対して話すことは全くありません。しかし、オープンソースプロジェクトを閲覧しているとき、私はすでに積極的にテールコールの最適化を行うからコンパイラを停止しようとするいくつかの関数、例えば、実装の CFRunLoopRef の実装のように、このような ハック . 例えば static voi

    2023-07-17 20:15:03
  • [解決済み] std::stringが設定されているかどうかを確認するには?

    質問 もし char* に初期化することができます。 NULL に初期化し、後で比較を行って設定されているかどうかをチェックします。同じことを std::string ? 文字列が設定されているかどうかを確認する方法は? EDITです。 設定した文字列も空だった場合はどうすればいいのでしょうか?をチェックするために追加のフラグを使用しなければならないのでしょうか? std:

    2023-07-17 01:23:32
  • [解決済み] std::mapのキークラスが有効なキーであるために満たすべき要件は何ですか?

    質問 あるクラスのオブジェクトを別のクラスのオブジェクトにマッピングしたい。しかし、私がキーとして使いたいクラスは、私が書いたものではなく、単純な struct std::map はその内容を順序付けます。私はそれがどのように行われるのか、そして任意のクラスがキーとして使用できるのか、または定義される必要がある一連の要件(演算子やその他)があるのかどうか疑問に思っていました。 もしそ

    2023-07-16 15:16:03
  • [解決済み] C++で配列の関数への渡し方

    質問 #include &lt;iostream&gt; using namespace std; void printarray (int arg[], int length) { for (int n = 0; n &lt; length; n++) { cout &lt;&lt; arg[n] &lt;&lt; " "; cout &lt;&lt

    2023-07-16 12:40:41
  • [解決済み] C++のインナークラスは自動的に友達になるのか?

    質問 C++で内部クラスを定義した場合、それを含むクラスは自動的に友人となるのでしょうか? 例えば、これは合法でしょうか。 class Outer { public: class Inner { public: void mutateOuter(Outer&amp; o); }; private: int value; }; void O

    2023-07-15 18:17:59