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

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


10
C ++が継承された友情を許可しないのはなぜですか?
C ++で友情が少なくともオプションで継承できないのはなぜですか?私は明白な理由で禁止されている推移性と反射性を理解しています(私はこれは単純なFAQの引用回答を回避するためだけに言っています)が、virtual friend class Foo;パズルの線に沿った何かの欠如は私を困惑させます。この決定の背後にある歴史的背景を知っている人はいますか?友情は本当に限定されたハックに過ぎなかったのか、それからいくつかのあいまいな立派な用途にその道を見つけましたか? 説明のために編集します。私は次のシナリオについて話しています。Aの子がBのいずれか、またはBとその子の両方にさらされているわけではありません。必要に応じて、フレンド関数のオーバーライドなどへのアクセスを許可することも想像できます。 class A { int x; friend class B; }; class B { // OK as per friend declaration above. void foo(A& a, int n) { a.x = n; } }; class D : public B { /* can't get in A w/o 'friend class …

17
全範囲にわたって一様に乱数を生成する
指定された間隔[max; min]内で乱数を生成する必要があります。 また、乱数は、特定のポイントに配置されるのではなく、間隔全体に均一に分布する必要があります。 Currenly私は次のように生成しています: for(int i=0; i<6; i++) { DWORD random = rand()%(max-min+1) + min; } 私のテストでは、乱数は1点のみで生成されます。 Example min = 3604607; max = 7654607; 生成される乱数: 3631594 3609293 3630000 3628441 3636376 3621404 以下の回答から:OK、RAND_MAXは32767です。私はC ++ Windowsプラットフォームを使用しています。一様分布で乱数を生成する他の方法はありますか?
93 c++  random 


7
gdbを使用した標準コンテナー(std :: map)の内容の検査
次のようなものがあるとします。 #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } gdbからプログラムを実行しているマップの内容を検査できるようにしたいと思います。 添え字演算子を使用すると、次のようになります。 (gdb) p m[1] Attempt to take address of value not located in memory. findメソッドを使用しても、より良い結果は得られません。 (gdb) p m.find(1) Cannot evaluate function -- may be inlined これを達成する方法はありますか?
93 c++  stl  map  gdb 


4
<chrono>から整数ミリ秒と浮動小数点秒として期間を取得する方法は?
タイマーと期間のクロノライブラリを使用しようとしています。 Duration frameStart;(アプリの開始から)とDuration frameDelta;(フレーム間の時間)を使用できるようにしたい frameDelta持続時間をミリ秒と浮動秒として取得できるようにする必要があります。 新しいc ++ 11 &lt;chrono&gt;ライブラリでこれをどのように行いますか?私はそれに取り組んでおり、ググリングしています(情報はまばらです)。コードはテンプレート化されており、特別なキャストなどが必要です。このライブラリを正しく使用する方法がわかりません。
93 c++  c++11  timer  chrono 

2
C ++構造体の関数
通常、C ++構造体の変数は次のように定義できます。 struct foo { int bar; }; 構造体の関数を定義することもできますか?これらの関数をどのように使用しますか?
93 c++  function  struct 

8
CMakeでCCacheを使用する方法は?
次のことを行います。CCacheがPATHに存在する場合は、コンパイルに「ccache g ++」を使用します。それ以外の場合は、g ++を使用します。私は小さなmy-cmakeスクリプトを書いてみました CC="ccache gcc" CXX="ccache g++" cmake $* しかし、動作していないようです(makeを実行してもccacheは使用されません。CMAKE_VERBOSE_MAKEFILEを使用してこれを確認しました)。 更新: このリンクに従って、スクリプトを次のように変更してみました cmake -D CMAKE_CXX_COMPILER="ccache" -D CMAKE_CXX_COMPILER_ARG1="g++" -D CMAKE_C_COMPILER="ccache" -D CMAKE_C_COMPILER_ARG1="gcc" $* しかし、cmakeは、コンパイラのccache(予想される)の使用でテストが失敗したと不平を言っています。
93 c++  unix  cmake  ccache 


10
C ++で長い方程式を実装する場合、高レベルのアプローチでパフォーマンスを向上させるにはどうすればよいですか
私はいくつかの工学シミュレーションを開発しています。これには、ゴムのような材料の応力を計算するために、この方程式のようないくつかの長い方程式を実装することが含まれます。 T = ( mu * ( pow(l1 * pow(l1 * l2 * l3, -0.1e1 / 0.3e1), a) * a * ( pow(l1 * l2 * l3, -0.1e1 / 0.3e1) - l1 * l2 * l3 * pow(l1 * l2 * l3, -0.4e1 / 0.3e1) / 0.3e1 ) * pow(l1 …


3
コマンドフラグを使用して将来の共有ライブラリにブレークポイントを設定する方法
--commandフラグを使用してgdbセッションを自動化しようとしています。共有ライブラリ(UNIXのDLLに相当)の関数にブレークポイントを設定しようとしています。私のcmds.gdbは次のようになります。 set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r ただし、次のようになっています。 shlomi:〜/ progs / bugs-external / kde / font-breaking $ gdb --command = cmds.gdb ... GNU gdb 6.8-2mdv2009.0(Mandriva Linuxリリース2009.0) Copyright(C)2008 Free Software Foundation、Inc. ライセンスGPLv3 +:GNU GPLバージョン3以降 これはフリーソフトウェアです。自由に変更して再配布できます。 法律で許可されている範囲で、保証はありません。「コピーを表示」と入力します 詳細については、「保証を表示」をご覧ください。 このGDBは「i586-mandriva-linux-gnu」として構成されました... (デバッグシンボルが見つかりません) 関数「IA__FcFontMatch」は定義されていません。 将来の共有ライブラリのロード時にブレークポイントを保留にしますか?(yまたは[n])[答えはN; 端末からではなく入力] つまり、結局、ブレークポイントは設定されません。デフォルトで「y」と応答して、保留中の将来の共有ライブラリのロードにブレークポイントを設定するにはどうすればよいですか? 何かできたとは思いますが、何ができたかは思い出せません。
92 c++  c  linux  unix  gdb 

9
((a +(b&255))&255)は((a + b)&255)と同じですか?
私はいくつかのC ++コードを閲覧していて、次のようなものを見つけました: (a + (b &amp; 255)) &amp; 255 ダブルANDに悩まされたので、次のように考えました。 (a + b) &amp; 255 (aおよびb32ビットの符号なし整数です) 私はすぐに私の理論を確認するためのテストスクリプト(JS)を書きました。 for (var i = 0; i &lt; 100; i++) { var a = Math.ceil(Math.random() * 0xFFFF), b = Math.ceil(Math.random() * 0xFFFF); var expr1 = (a + (b &amp; 255)) &amp; 255, expr2 = …
92 c++  binary  logic 

13
Windows用LLVM C ++ IDE
最近のXcodeと同じように、LLVMコンパイラー(およびClang C / C ++アナライザー)と統合されたWindows用のC / C ++ IDEはありますか? Dev-Cpp(古いGCCを使用)とCode :: Blocks(一部のGCCを使用)があります。しかし、GCCは非常に不可解なエラーメッセージを表示します。Clangのフロントエンドからさらにユーザーフレンドリーなエラーメッセージを取得したいのですが。 はい、Clangは複雑なC ++コードでは使用できませんでしたが、トランクClangはすでにLLVM自体をコンパイルできます。だから、開発中のベータ版のLLVM IDEはあるのだろうか。 はい、ClangをGCC互換IDEの他のコンパイラとして使用できます。しかし、Clangと統合されているIDEはありますか?Clangでは出力形式が異なるため、IDEで解析する必要があります。Clangは、ソースのIDE解析を提供できます。Clangには分析オプションがあり、IDEでサポートする必要があります。見てください、例えばhttp://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html そして、Clangの最も望ましい機能-スマートなオートコンプリートなので、IDEは構文的に正しいバリアントのみを提案できます。たとえば、この構造体、クラスのフィールドのみをリストします。 結果:(回答からマージ): Petri TuononenのCDT&gt; = 8およびhttps://code.google.com/archive/p/llvm4eclipsecdt/プラグインを使用したEclipse(スマート自動補完なし) LLVMプロジェクトからのvimrcを使用したVim(スマートコンプリートのみ?)https://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/ Emacs(スマート補完のみ?)https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el Qtクリエイター:https : //blog.qt.io/blog/2011/10/19/qt-creator-and-clang/ CodeLite:http : //www.codelite.org/LiteEditor/ClangIntegration35
92 c++  windows  ide  llvm  clang 

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