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

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


1
GCCとg ++はどのようにブートストラップされますか?
これはしばらくの間私を悩ませてきました。GCCとg ++はどのようにコンパイルされますか? すべてのリビジョンが以前にビルドされたリビジョンでコンパイルされると思います。これは本当ですか?もしそうなら、最も古いg ++とGCCのバージョンがアセンブリで記述されたことを意味しますか?

6
静的constexpr char []への未定義の参照
static const charクラスに配列が必要です。GCCは不平を言って、私はを使用するべきだと私に言ったconstexprが、今は未定義の参照であることを私に言っている。配列を非メンバーにすると、コンパイルされます。何が起こっている? // .hpp struct foo { void bar(); static constexpr char baz[] = "quz"; }; // .cpp void foo::bar() { std::string str(baz); // undefined reference to baz }

14
STLまたはQtコンテナー?
Qtコンテナの使用の長所と短所は何ですか(QMap、QVectorそのSTLと同等の上に、など)は? Qtを選ぶ1つの理由がわかります。 QtコンテナーはQtの他の部分に渡すことができます。たとえば、それらはa QVariantと次にa を入力するために使用できますQSettings(ただし、いくつかの制限がありますがQList、QMap/ およびQHashキーが文字列である場合のみ受け入れられます)。 他にありますか? 編集:アプリケーションがすでにQtに依存していると仮定します。
185 c++  qt  stl 

4
std :: auto_ptrからstd :: unique_ptr
新しい標準(および一部のコンパイラですでに利用可能なパーツ)が登場したことで、新しいタイプstd::unique_ptrはの代わりになるはずですstd::auto_ptr。 それらの使用法は正確にオーバーラップしていますか(コードでグローバル検索/置換を実行できます(そうするわけではありませんが、そうした場合))、またはドキュメントを読んでも明らかでないいくつかの違いに注意する必要がありますか? また、直接置換する場合は、単にstd::auto_ptr?を改善するのではなく、新しい名前を付けるのはなぜですか。

12
mmap()と読み取りブロック
サイズが100GB以上になる可能性のあるファイルを処理するプログラムに取り組んでいます。ファイルには、可変長レコードのセットが含まれています。私は最初の実装を稼働させており、特に入力ファイルが何度もスキャンされるので、特にI / Oをより効率的に行うことで、パフォーマンスの改善に向けています。 mmap()C ++のfstreamライブラリを介したブロックの使用と読み取りの経験則はありますか?私がしたいことは、ディスクから大きなブロックをバッファーに読み込み、バッファーから完全なレコードを処理して、さらに読み込むことです。 'dブロックはページサイズの境界(私の理解)にある必要があり、レコードがページ境界を越えて潜在的に好きになるmmap()可能性があるため、コードは非常に複雑になるmmap可能性があります。ではfstream、私たちが読んブロックに限定していないことからS、私はページ上の嘘は、境界をサイズのことを、レコードの開始をシークして、もう一度読み始めることができます。 最初に完全な実装を実際に作成せずに、これらの2つのオプションをどのように決定できますか?経験則(例:mmap()2倍高速)または簡単なテスト?
185 c++  file-io  fstream  mmap 

14
インライン関数を使用する場合と使用しない場合
インラインはコンパイラへのヒントまたは要求であり、関数呼び出しのオーバーヘッドを回避するために使用されることは知っています。 それでは、関数がインライン化の候補であるかどうかをどのような根拠で判断できますか?どの場合、インライン化を避けるべきですか?
185 c++  c  inline 

7
ツールボックスにはどのような最新のC ++ライブラリを含める必要がありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 この質問を改善する 私は約10年間C ++ゲームを使用していないので、商用アプリに戻って始めたいと思っています。最近どのライブラリーが使用されていますか? ユーザーインターフェース(例、wxWidgets、Qt) データベース 汎用(例:Boost、Loki、STL) スレッディング テスト中 ネットワーク/ソケット 私はクロスプラットフォーム互換性を求めています(可能な限りすぐに使用可能)。 どのライブラリに依存していますか?それらを「不可欠」にする機能は何ですか。 概要については、以下の私の回答を参照してください。
185 c++ 

10
特定のSTLコンテナを使用するのはどのシナリオですか?
私はC ++に関する本でSTLコンテナー、特にSTLとそのコンテナーに関するセクションを読んでいます。今、私はそれらのそれぞれに固有の特性があることを理解し、それらのすべてを暗記するところです...しかし、まだ理解していないのは、それぞれがどのシナリオで使用されているかです。 説明は何ですか?サンプルコードをお勧めします。

4
doubleで係数を使用できませんか?
C ++のプログラム(g ++を使用してコンパイル)があります。2つのdoubleをオペランドとしてモジュラス関数に適用しようとしていますが、次のエラーが発生します。 エラー:タイプ 'double'および 'double'からバイナリ 'operator%'への無効なオペランド これがコードです: int main() { double x = 6.3; double y = 2; double z = x % y; }
185 c++  modulo 



5
参照による配列の受け渡し
静的に割り当てられた配列を参照渡しする方法は? void foo(int (&myArray)[100]) { } int main() { int a[100]; foo(a); } (&myArray)[100]参照することにより任意の配列を渡すために何の意味やそのわずかな構文がありますか?ここでは、括弧とそれに続く大括弧が別々に理解できません。ありがとう。
184 c++  arrays 


30
あなたが定期的にフォローしているC ++ブログ?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 あなたがフォローしているすべてのC ++ブログは何ですか? 1つの投稿に1つのURLを追加してください。
183 c++  blogs 

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