タグ付けされた質問 「c++」

C ++は汎用プログラミング言語です。もともとCの拡張として設計され、構文は似ていますが、現在は完全に異なる言語になっています。このタグは、C ++コンパイラでコンパイルされる(される)コードに関する質問に使用します。特定の標準リビジョン[C ++ 11]、[C ++ 14]、[C ++ 17]または[C ++ 20]などに関連する質問には、バージョン固有のタグを使用します。

4
「引数依存ルックアップ」(別名ADL、または「ケーニッヒルックアップ」)とは何ですか?
引数に依存するルックアップが何であるかについてのいくつかの良い説明は何ですか?多くの人がケーニッヒルックアップとも呼んでいます。 できれば知りたいです。 なぜそれが良いのですか? なぜそれが悪いのですか? それはどのように機能しますか?

6
Linux開発プロジェクトのClangとGCC
私は大学にいます。プロジェクトではCを使用しています。GCCとClangを調査してきましたが、ClangはGCCよりもはるかにユーザーフレンドリーであるようです。結果として、LinuxのCおよびC ++で開発するために、GCCではなくclangを使用することの利点または欠点は何ですか? 私の場合、これは制作ではなく、学生レベルのプログラムに使用されます。 Clangを使用する場合、GDBでデバッグしてGNU Makeを使用する必要がありますか、それとも別のデバッガーとmakeユーティリティを使用する必要がありますか?
175 c++  c  linux  gcc  clang 

8
C ++の新しい演算子でメモリを初期化する方法は?
私はC ++を始めたばかりで、いくつかの良い習慣を身につけたいと思っています。私はちょうど型の配列を割り当てられている場合intとnewオペレータ、どのように私はそれらをすべて自分自身をループせずに0にそれらのすべてを初期化することができますか?私は使うべきmemsetですか?それを行う「C ++」の方法はありますか?

9
コンマオペレーターの仕組み
C ++ではカンマ演算子はどのように機能しますか? たとえば、私が行う場合: a = b, c; 最終的にbまたはcに等しくなりますか? (はい、これは簡単にテストできることを知っています-誰かがすぐに答えを見つけるためにここに文書化するだけです。) 更新: この質問は、コンマ演算子を使用するときにニュアンスを明らかにしました。これを文書化するだけです: a = b, c; // a is set to the value of b! a = (b, c); // a is set to the value of c! この質問は、実際にはコードのタイプミスに触発されました。意図されていたもの a = b; c = d; になって a = b, // <- …

13
std :: stringに文字を追加する方法は?
以下はエラーで失敗します prog.cpp:5:13: error: invalid conversion from ‘char’ to ‘const char*’ int main() { char d = 'd'; std::string y("Hello worl"); y.append(d); // Line 5 - this fails std::cout << y; return 0; } コンパイル時に実行時にランダムに動作する次のものも試してみました: int main() { char d[1] = { 'd' }; std::string y("Hello worl"); y.append(d); std::cout << y; …
175 c++  string 

11
#include依存関係を追跡するツール[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 この質問を改善する 何か良い提案はありますか?入力はヘッダーファイルの名前で、出力はそれを直接または間接的に含むすべてのファイルのリスト(できればツリー)である必要があります。
175 c++  c  header 


12
C ++での関数宣言の後にセミコロン( ';')は必要ありませんか?
最近、中間プログラミングテストを受けましたが、私が間違った質問の1つは次のとおりです。 関数宣言の後にセミコロン( ';')は必要ありません。 正しいか間違っているか。 私は「false」を選択しました(そして、私が狂っているように感じるので私が間違っている場合は修正してください)、関数宣言は、定義の前(コードの先頭)に書き込むものなので、コンパイラーは関数を認識します呼び出す前に呼び出します。関数定義は、関数全体を構成するものです。 つまり、 宣言: int func(); 定義: int func() { return 1; } これに対する答えは間違っているべきではありませんか?

6
Cスタイルの配列からstd :: vectorを初期化する方法は?
std::vectorCスタイルの配列からを初期化する最も安い方法は何ですか? 例:次のクラスにはがvectorありますが、外部の制限により、データはCスタイルの配列として渡されます。 class Foo { std::vector<double> w_; public: void set_data(double* w, int len){ // how to cheaply initialize the std::vector? } 言うまでもなく、呼び出しw_.resize()て要素をループするか、を呼び出すことができますstd::copy()。より良い方法はありますか?
174 c++  arrays  vector  stl 



16
Enterキーが押されるのを待たずに、標準入力から文字をキャプチャします
私がこれを行うことはめったにないので、私がこれを行う方法を思い出すことはできません。しかし、CまたはC ++では、改行を待たずに(Enterキーを押す)標準入力から文字を読み取る最良の方法は何ですか。 また、理想的には、入力文字を画面にエコーしません。コンソール画面に影響を与えずにキーストロークをキャプチャしたいだけです。
174 c++  c  inputstream 



4
整数の範囲を指定してオプティマイザにヒントを与えることはできますか?
intタイプを使用して値を格納しています。プログラムのセマンティクスにより、値は常に非常に小さな範囲(0〜36)で変化し、int(a charではなく)はCPUの効率のためにのみ使用されます。 このような小さな範囲の整数に対して、多くの特別な算術最適化を実行できるようです。これらの整数に対する多くの関数呼び出しは、「魔法の」操作の小さなセットに最適化される可能性があり、一部の関数は、テーブルルックアップに最適化されることもあります。 それで、これintが常にその小さな範囲にあることをコンパイラーに伝えることは可能ですか?そしてコンパイラーがそれらの最適化を行うことは可能ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.