問題タブ [c++98]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
184 参照

c++ - boost::assign::list_of を boost::variant で使用する

与えられた:

cワンライナーとして初期化するにはどうすればよいですか?

0 投票する
5 に答える
8298 参照

c++ - マクロで static_assert を行うには?

この提案を使用して静的アサートを実行しようとしましたが、テンプレートのメソッド内で使用してもコンパイル エラーは発生しません。

例は次のとおりです。

VLA は c++ ISO でサポートされていないという警告とともに、g++ 4.7.2 でコンパイルしました。

では、テンプレート メソッド内で STATIC_ASSERT を使用すると、コンパイルが失敗しないのはなぜでしょうか? 失敗させる方法はありますか?

:可能であれば、マクロのみで、c++98(おそらくc++03)ソリューションが必要です。

0 投票する
1 に答える
481 参照

c++ - C++98 標準を使用して記述されたコードは、新しいコンパイラでコンパイルされますか?

C++98 標準で記述されたコードは、g++ などの新しいコンパイラで動作します。または、機能しません。単純な「Hello World」プログラムは機能すると思われますが、複雑なコマンド ライン プログラムはどうでしょうか。

0 投票する
2 に答える
602 参照

c++ - C++98/03 参照の折りたたみと cv 修飾子

以下のコードはコンパイル (gcc 4.7.2 または icc 13) し、「1 2」出力を生成します。これは、const修飾子が削除されたことを意味します。つまり、f<int&>パラメーター type がありますint&

なぜそれが起こるのですか?私が理解しているように、§14.3.1.4 によると:

template-parameter のテンプレート引数がT型「cv1 への参照」を指定する場合、型「cv2 Sへの参照」を作成しようとすると、型「cv12 Tへの参照」が作成されます S。ここで、cv12は cv 修飾子 cv1 の和集合ですおよびcv2。冗長な cv 修飾子は無視されます。

const落としてはいけません。コードは次のとおりです。

0 投票する
1 に答える
80 参照

c++ - 何かが他の何かへの参照であるかどうかをテストする

私が持っているとしましょう:

このようなテストを行うにはどうすればよいですか?

これは、コードを単体テストする人にとって一般的な問題だと思います。

0 投票する
1 に答える
178 参照

c++ - boost::variant メンバー 別の boost::variant のサブセット

コレクションを保存するためのかなり扱いにくいcインターフェイスを使用しています。このクラスLowLevelStorerは、このインターフェイス用に記述したラッパーを表します。このStorerクラスは、 に関係する高レベルのクラスDataです。キャッシングを行い、データを だけが知っているより複雑なデータ型にバンドルしますLowLevelStorer。私のコードの残りの部分はDataLowLevelData.

以下のコード例では、バリアントのメンバーがDataバリアントに含まれるようにしLowLevelDataます。これを他の方法で指定する方法はありますか?

私が本当に理解していないのは、以下のコードがコンパイルされる理由と、実際に実際に正しく動作する理由です。つまりvoid operator()(const SimplePath&, const Data& data) const、 Data 参照を取りますが、呼び出し時に LowLevelData オブジェクトに正しく変換しているようvoid operator()(const LowLevelData& data) constです。どうすればいいの?

データ オブジェクトに関して、舞台裏で多くのコピーが行われていますか?

0 投票する
1 に答える
159 参照

c++ - 参照によるブースト スマート ポインターの受け渡し

Container次の関数は、コードで使用する a を、ac インターフェイスで必要な a に変換します。boost::shared_array<CValues>&cContainer を使用するまで関連付けられたメモリを維持する必要があるため、この関数に a を渡す必要があります。これを行うより良い方法はありますか?

0 投票する
2 に答える
4141 参照

c++ - boost::shared_array を反復処理する

のアイテムをどのように反復処理しますboost::shared_arrayか? それを実行してget()、生のポインタをイテレータとして使用しますか?

0 投票する
4 に答える
26844 参照

c++ - std::vector で検索

ペアのベクトルがあります。ペアの 1 番目は std::string 型で、2 番目は Container 型です。

文字列値をキーとして与えられたコンテナを返すことができるように、std または boost に存在する便利な機能は何ですか?

アップデート

代わりに std::map を使用できるとコメントされていますが、実際にはアイテムの順序をベクターにプッシュする順序で保持する必要があります。

0 投票する
2 に答える
1818 参照

c++ - boost::variant型のstd::vectorを変換します

Valueのベクトルからに変換するために、以下の関数をどのように実装できContainerますか?valuesのすべてのメンバーが同じタイプではない場合、つまり、ベクトルに文字列とintが混在している場合は、主張したいと思います。これは、関数の戻り値がastd::vector<int>または。のいずれかであるためstd::vector<std::string>です。