• [解決済み] なぜC++のライブラリやフレームワークではスマートポインタが使われないのですか?

    質問 いくつかの記事で、生のポインタはほとんど使ってはいけないと読みました。その代わりに、スコープ付きポインタや共有ポインタなど、常にスマートなポインタの内側にラップする必要があります。 しかし、QtやwxWidgetsのようなフレームワークやBoostのようなライブラリは、スマートポインタをまったく使っていないかのように、スマートポインタを返したり期待したりしないことに気づきました。そ

    2022-04-26 18:16:14
  • [解決済み] 末尾再帰最適化を行うC++コンパイラがあるとすれば、どのコンパイラですか?

    質問 CとC++の両方で末尾再帰の最適化を行うことは完全にうまくいくように思えますが、デバッグ中にこの最適化を示すフレームスタックを見ることはないようです。スタックを見れば、再帰の深さがわかるので、それはいいことだと思います。しかし、この最適化も同様に素晴らしいものです。 この最適化を行うC++コンパイラはありますか?なぜですか?なぜしないのですか? どのようにコンパイラに指示すれば

    2022-04-26 17:19:27
  • [解決済み] C++14の自動復帰型控除はいつ使うべきですか?

    質問 GCC 4.8.0がリリースされ、C++14の一部である自動戻り型控除をサポートするコンパイラを手に入れました。とは -std=c++1y , こんなことができるんです。 auto foo() { //deduced to be int return 5; } 質問ですが、この機能はどのような場合に使うべきですか?いつ必要で、いつコードがきれいになるのでしょうか?

    2022-04-26 17:07:54
  • [解決済み] インライン変数の仕組みは?

    質問 2016年のオウルISO C++標準化会議では、以下のような提案がなされました。 インライン変数 は、標準化委員会によってC++17に投票されました。 平たく言えば、インライン変数とは何か、どのように機能し、何に役立つのか。インライン変数はどのように宣言し、定義し、使用すべきなのでしょうか? どのように解決するのですか? 提案の最初の文章です。 <ブロッククオ

    2022-04-26 16:15:48
  • [解決済み] enum型変数を文字列に変換するには?

    質問 enum型の変数の値をprintfで表示させるには?たとえば、以下のような場合です。 typedef enum {Linux, Apple, Windows} OS_type; OS_type myOS = Linux; そして、私が必要とするのは、次のようなものです。 printenum(OS_type, "My OS is %s", myOS); は、整数ではなく

    2022-04-26 15:26:13
  • [解決済み] C++0xで "while(1); "を排除する最適化

    質問 更新しました!下記をご覧ください。 C++0xでは、次のスニペットに対してコンパイラが"Hello"を表示できると聞いたり読んだりしたことがあります。 #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } ど

    2022-04-26 14:18:47
  • [解決済み] C++でヘッダーファイルの宣言とソースファイルの静的メソッドを定義する

    質問 C++の静的メソッドの扱いに少し困っています。 例.h: class IC_Utility { public: IC_Utility(); ~IC_Utility(); std::string CP_PStringToString( const unsigned char *outString ); void CP_StringToPString

    2022-04-26 12:56:28
  • [解決済み] polymorphic_allocator: いつ、なぜそれを使うべきか?

    質問 これ に関するドキュメントです。 cppreference , こちら はワーキングドラフトです。 の本当の目的は何なのか、正直言ってよく分かりませんでした。 polymorphic_allocator とか、いつ、なぜ、どのように使うべきかということです。 例として pmr::vector には次のような署名があります。 namespace p

    2022-04-26 12:01:54
  • [解決済み] ブール→イント変換

    質問 この変換はどの程度ポータブルですか?両方のアサーションがパスすることを確認できますか? int x = 4<5; assert(x==1); x = 4>5; assert(x==0); 理由は聞かないでください。醜いのは分かっています。ありがとうございます。 解決方法は? int x = 4<5; 完全なポータブル。標準に準拠しています。 bo

    2022-04-26 11:19:52
  • [解決済み] 整数の桁数を効率的に求める方法

    質問 とは何ですか? 効率的 C++で整数の桁数を決定する方法は? どのように解決するのですか? 最も効率的な方法は、整数のサイズがわかっているのであれば、ルックアップすることです。 対数ベースのアプローチよりずっと速いはずです。 もし、「-」のカウントを気にしないのであれば、「+1」を削除してください。 #include <climits> // gene

    2022-04-26 09:40:38
  • [解決済み] max templateの実装に「a < b ? b : a」ではなく「b < a ? a : b」を使用するのはなぜですか?

    質問 C++テンプレート -完全ガイド 第2版 が紹介されています。 マックス テンプレートがあります。 template&lt;typename T&gt; T max (T a, T b) { // if b &lt; a then yield a else yield b return b &lt; a ? a : b; } を使うことが説明されています

    2022-04-26 08:48:26
  • [解決済み] 共有ライブラリを動的リンクした場合、共有ライブラリ内のグローバル変数とスタティック変数はどうなりますか?

    質問 グローバルと静的変数を持つモジュールがアプリケーションに動的にリンクされているときに何が起こるかを理解しようとしています。 モジュールというのは、ソリューションの各プロジェクトを意味します(私はビジュアルスタジオでよく仕事をします!)。これらのモジュールは、*.lib、*.dll、または*.exe自体に組み込まれています。 アプリケーションのバイナリは、データセグメント(およびco

    2022-04-26 06:46:31
  • [解決済み] 静的ライブラリと他の静的ライブラリとのリンク

    質問 私は多くの静的ライブラリ(a_1-a_n)に依存する小さなコードの断片を持っています。そのコードを静的ライブラリにパッケージングして、他の人が利用できるようにしたいと思います。 私の静的ライブラリ(Xと呼ぶことにしましょう)は、うまくコンパイルできます。 Xの関数を使う簡単なサンプルプログラムを作りましたが、Xにリンクしようとすると、ライブラリa_1〜a_nのシンボルが見つから

    2022-04-26 06:22:55
  • [解決済み] exprのオーバーフローを回避する方法 A * B - C * D

    質問 次のような式を計算する必要があります。 A*B - C*D で、その型は以下の通りです。 signed long long int A, B, C, D; 各数値は本当に大きくすることができる(その型からはみ出さない程度に)。一方 A*B はオーバーフローを引き起こす可能性がありますが、同時に式 A*B - C*D は本当に小さくなる可能性があります。どうすれば正しく計算で

    2022-04-26 05:37:15
  • [解決済み] std::forwardを使用して引数を転送するタイミングは?

    質問 C++0xでは std::forward : template&lt;class T&gt; void foo(T&amp;&amp; arg) { bar(std::forward&lt;T&gt;(arg)); } を使うのが有利なのはどんな場合ですか? std::forward 常にですか? また &amp;&amp; をパラメータ宣言に使用することができ

    2022-04-26 05:31:15
  • [解決済み] C++構造体の便利な初期化

    質問 C++の構造体「ポッド」を初期化する便利な方法を探しています。さて、次のような構造体を考えてみましょう。 struct FooBar { int foo; float bar; }; // just to make all examples work in C and C++: typedef struct FooBar FooBar; これをC言語で便利に初期化しよう

    2022-04-26 02:08:25
  • [解決済み] C++のセマンティクス、`static const` と `const` の比較

    質問 C++では、具体的に、例えば、どのような意味での違いがあるのでしょうか。 static const int x = 0 ; そして const int x = 0 ; ともに static をリンクとストレージクラス指定子として使用することができます(つまり、関数の内側と外側の両方)。 どのように解決するのですか? ファイルスコープでは、C++と変わりませ

    2022-04-25 21:04:03
  • [解決済み] リテインドモードGUIと比較して、イミディエイトモードGUIを使用した場合のパフォーマンスにはどのような影響がありますか?

    質問事項 現在、Windowsの標準的なデスクトップアプリケーション(標準的とは、ボタン、テキスト、スライダーなどの派手なものがないという意味です)を作っているのですが、いくつかのGUIフレームワークを調べて、そのすべてに反感を持ったため、自分でGUIフレームワークを書くことにしました。趣味のプロジェクトなので、実験もいとわず、GUIをretain-modeではなくimmediate-mod

    2022-04-25 18:52:58
  • [解決済み] 最新のx86-64 clangでソートされていない配列の処理とソートされた配列の処理が同じ速度になるのはなぜですか?

    質問 9歳児に大人気の SO質問 その結果を再確認することにしました。 で、AMD Ryzen 9 5950Xとclang++ 10とLinuxを持っているので、質問からコードをコピーペーストしてみたら、こんな感じになりました。 ソート済み - 0.549702s : ~/d/so_sorting_faster$ cat main.cpp | grep "std::so

    2022-04-25 18:38:05
  • [解決済み] スタックや再帰を使わないMorrisの順次木探索について説明する。

    質問 スタックや再帰を使用しない、以下のMorris inorder tree traversal アルゴリズムの理解を助けてくれる人はいますか?私はそれがどのように動作するかを理解しようとしたが、それはちょうど私をエスケープされています。 1. Initialize current as root 2. While current is not NULL If current d

    2022-04-25 18:34:45