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

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

9
Visual StudioでのC ++ファイルの#include階層の表示
問題: Visual Studio 2010に移行しようとしている大規模なVisual C ++プロジェクトがあります。これは、さまざまなソースやさまざまな年齢のものが非常に混在しています。との両方が含まれているため、問題が発生winsock.hしていwinsock2.hます。 質問:表示するためのツールとテクニックは何ですか#include Visual Studio C ++ソースファイルの階層をますか? 私cl /Pはプリプロセッサ出力を取得することについて知っていますが、それはどのファイルに他のどのファイルが含まれているのかを明確に示していません(この場合、/P出力は376,932行です8-) 完璧な世界では、ソースにジャンプできるように、どのファイルに他のどのファイルが含まれているか、行番号とともに階層表示したいのですが。 source.cpp(1) windows.h(100) winsock.h some_other_thing.h(1234) winsock2.h



4
auto &&は何を教えてくれますか?
あなたがのようなコードを読んだ場合 auto&& var = foo(); ここで、fooタイプの値によって返す任意の関数ですT。次にvar、へのタイプの右辺値参照の左辺値ですT。しかし、これは何を意味するのvarでしょうか?それは私たちのリソースを盗むことを許可されているということですvarか?を使用auto&&してコードの読者に、unique_ptr<>あなたが独占的な所有権を持っていることを伝えるためにa を返すときのようなことを伝えるために使用すべき合理的な状況はありますか?そして、たとえばクラス型のT&&場合Tはどうでしょうか? auto&&テンプレートプログラミング以外のユースケースがあるかどうかを理解したいだけです。この記事の例で説明されているものと同様に、スコット・マイヤーズのユニバーサルリファレンス。

30
C ++:数値の最も近い倍数に切り上げる
OK-これは基本的な質問のように思われるため、ここに投稿するのはほとんど恥ずかしいです(そして、誰かが投票に投票した場合は削除します)。 これはC ++で数値の倍数に切り上げる正しい方法ですか? 私はこれに関連する他の質問があることを知っていますが、C ++でこれを行うための最良の方法は何かを知ることに特に興味があります。 int roundUp(int numToRound, int multiple) { if(multiple == 0) { return numToRound; } int roundDown = ( (int) (numToRound) / multiple) * multiple; int roundUp = roundDown + multiple; int roundCalc = roundUp; return (roundCalc); } 更新:申し訳ありませんが、私はおそらく意図を明確にしませんでした。ここではいくつかの例を示します。 roundUp(7, 100) //return 100 roundUp(117, 100) //return 200 …
168 c++  algorithm  rounding 

23
if-elseステートメントを切り替える利点
switchステートメントを使用する場合と、約10のアクションが予想される(現在は同じアクションである)列挙型if30 に対してステートメントを使用する場合のベストプラクティスは何ですかunsigned。パフォーマンスとスペースを考慮する必要がありますが、重要ではありません。スニペットを抽象化したので、命名規則を気にしないでください。 switch ステートメント: // numError is an error enumeration type, with 0 being the non-error case // fire_special_event() is a stub method for the shared processing switch (numError) { case ERROR_01 : // intentional fall-through case ERROR_07 : // intentional fall-through case ERROR_0A : // intentional fall-through case ERROR_10 …

12
Google TensorFlow C ++ APIを構築して使用する方法
C ++でGoogleの新しいTensorflowライブラリを使い始めたいと思っています。Webサイトとドキュメントは、プロジェクトのC ++ APIを構築する方法の点で本当に不明確であり、どこから始めればよいかわかりません。 より経験のある人がtensorflowのC ++ APIを使用するためのガイドを見つけて共有することで手助けできますか?
168 c++  tensorflow 



6
Qt CreatorでC ++ 11を有効にする方法は?
タイトルはかなりわかりやすいです。Qt Creator 2.7.0をダウンロードし、いくつかの基本的なC ++ 11コードをコンパイルしようとしています。 int my_array[5] = {1, 2, 3, 4, 5}; for(int &x : my_array) { x *= 2; } 次のエラーが表示されます。 range based for loops are not allowed in c++ 98 mode しかし、この記事によると、このバージョンのQt CreatorはC ++ 11をサポートしています。どうすれば有効にできますか?
167 c++  qt  c++11 

4
Linux上のC ++動的共有ライブラリ
これは、g ++による動的共有ライブラリのコンパイルのフォローアップです。 LinuxのC ++で共有クラスライブラリを作成しようとしています。ライブラリをコンパイルして、こことここで見つけたチュートリアルを使用して、いくつかの(非クラス)関数を呼び出すことができます。ライブラリで定義されているクラスを使用しようとすると、問題が発生します。私がリンクした2番目のチュートリアルは、ライブラリーで定義されたクラスのオブジェクトを作成するためのシンボルをロードする方法を示していますが、これらのオブジェクトを使用して作業を完了することはできません。 別の実行可能ファイルでこれらのクラスを使用する方法も示す、共有C ++クラスライブラリを作成するためのより完全なチュートリアルを知っている人はいますか?オブジェクトの作成、使用(単純なゲッターとセッターで結構です)、そして削除が素晴らしい素晴らしいチュートリアルです。共有クラスライブラリの使用を示すいくつかのオープンソースコードへのリンクまたは参照も同様に良いでしょう。 codelogicとnimrodmからの回答は機能しますが、この質問をして以来、Beginning Linux Programmingのコピーを選んだことを追加したいと思います。最初の章には、Cライブラリの例と、静的ライブラリと共有ライブラリの両方を作成および使用するための適切な説明があります。 。これらの例は、Googleブック検索を介して、その本の古い版で利用できます。

7
C ++で「オブジェクトを返す」方法は?
同じような質問がたくさんあるので、タイトルはなじみがあるように聞こえますが、問題の別の側面を求めています(スタックに物を置くこととヒープに置くことの違いを知っています)。 Javaでは、常に「ローカル」オブジェクトへの参照を返すことができます public Thing calculateThing() { Thing thing = new Thing(); // do calculations and modify thing return thing; } C ++では、似たようなことをするために2つのオプションがあります (1)オブジェクトを「返す」必要があるときはいつでも参照を使用できます void calculateThing(Thing& thing) { // do calculations and modify thing } 次に、このように使用します Thing thing; calculateThing(thing); (2)または、動的に割り当てられたオブジェクトへのポインタを返すことができます Thing* calculateThing() { Thing* thing(new Thing()); // do calculations and modify …

9
C ++演算子での暗黙の型変換規則
いつキャストすればいいのかよく知りたいです。追加、乗算などの際のC ++の暗黙の型変換規則は何ですか。たとえば、 int + float = ? int * float = ? float * int = ? int / float = ? float / int = ? int / int = ? int ^ float = ? 他... 式は常により正確な型として評価されますか?ルールはJavaで異なりますか?この質問の文言が不正確だった場合は訂正してください。
167 c++  casting  implicit 

11
std :: queueを効率的にクリアするにはどうすればよいですか?
JobQueueクラスの実装にstd :: queueを使用しています。(基本的に、このクラスはFIFO方式で各ジョブを処理します)。1つのシナリオでは、キューを1回でクリアします(キューからすべてのジョブを削除します)。std :: queueクラスで使用できるclearメソッドがありません。 JobQueueクラスのclearメソッドを効率的に実装するにはどうすればよいですか? ループでポップする簡単な解決策が1つありますが、もっと良い方法を探しています。 //Clears the job queue void JobQueue ::clearJobs() { // I want to avoid pop in a loop while (!m_Queue.empty()) { m_Queue.pop(); } }
166 c++  stl  queue 

16
libgcc_s_dw2-1.dllが見つからないため、プログラムを開始できません
Code :: Blocksを使用して、C ++で簡単なプログラムを作成しました。 Code :: Blocksから実行すると、正しく動作します。しかし、実行可能ファイルをダブルクリックして実行すると、次のメッセージがポップアップ表示されます。 コンピューターにlibgcc_s_dw2-1.dllが見つからないため、プログラムを開始できません。 この問題を修正するには、プログラムを再インストールしてください。 それで、問題は何ですか?修正するにはどうすればよいですか?
166 c++  windows  mingw 

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