問題タブ [c++-standard-library]

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 投票する
3 に答える
25204 参照

c++ - 標準コンテナを前方宣言しますか?

ヘッダファイルで標準コンテナを前方宣言することは可能ですか? たとえば、次のコードを見てください。

私はこのようなことができるようにしたい:

これはできますか?

0 投票する
27 に答える
1125000 参照

c++ - std::string のインスタンスを小文字に変換する方法

std::stringaを小文字に変換したい。機能は承知しておりますtolower()std::stringただし、過去にこの関数に問題がありましたが、各文字を反復処理する必要があるため、とにかく理想的ではありません。

100% の確率で機能する代替手段はありますか?

0 投票する
3 に答える
3424 参照

c++ - C++ std::map への挿入時の奇妙なバグ

いくつかの値のペアを std::map に挿入しようとしています。最初のケースでは、マップへのポインターを受け取り、それを逆参照し、添え字演算子を使用して値を割り当てます。すなわち

後でコレクションを反復処理しようとすると、最初の (map.begin()) アイテムを除くすべてのケースで、値属性に null を含むキーと値のペアが返されます。奇妙なことは、マップの挿入機能を介して挿入を行うと、すべてがうまくいくことです。

これはなぜでしょうか?2 つの方法は機能的に同等ではありませんか? コンテキストのために、実際のコードのスニペットを以下に貼り付けました

私はすべてのアイデアがありません。誰か提案がありますか?

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

c++ - sscanfの代わりに何を使用すればよいですか?

sscanfが解決する(文字列から物を抽出する)という問題があります。sscanfはタイプセーフではなく、古くて恐ろしいので、私は好きではありません。私は賢くなり、C++標準ライブラリのより新しい部分を使用したいと思っています。代わりに何を使用すればよいですか?

0 投票する
10 に答える
176325 参照

c++ - std::queueの反復

繰り返す必要がありstd::queueます。www.cplusplus.comによると:

デフォルトでは、特定のキュークラスにコンテナクラスが指定されていない場合、標準のコンテナクラステンプレートdequeが使用されます。

それで、どういうわけか、キューの基になる両端キューに到達して、それを反復処理できますか?

0 投票する
9 に答える
59879 参照

c++ - C++ valarray とベクトル

ベクター大好きです。彼らは気の利いた、速いです。しかし、valarray と呼ばれるものが存在することは知っています。ベクトルの代わりに valarray を使用するのはなぜですか? valarray には構文糖衣があることは知っていますが、それ以外に、いつ役立つのでしょうか?

0 投票する
3 に答える
239 参照

c++ - VCが間違った演算子を選択する<<最初の呼び出しでのみオーバーロードします。バグ?

影響のないコードをすべて削除するのに少し時間を費やしましたが、これが私の問題です。

--- File.h ---

--- File.cpp ---

--- main.cpp ---

そしてこれは、clオプション/D "WIN32" /D "_UNICODE" /D "UNICODE"を使用してビルドして実行した後の出力ファイルです

--- test.txt ---

基本的に何が起こるかというと、最初のoperator<<呼び出しmainはメンバーメソッドにバインドされます

一方、2番目のものは(正しく)バインドされています

したがって、異なる出力が得られます。

次のいずれかを実行した場合、これは発生しません。

  • 列をなしてFile::CreateOutput
  • DataOutput非テンプレートのものに変更しますElement=char
  • 最初の呼び出し*output;の前に追加operator<<

これを望ましくないコンパイラの動作と見なすのは正しいですか?

これについて何か説明はありますか?

ああ、私は現在この簡略化されたコードをテストするためにVC7を使用していますが、VC9とVC8で元のコードを試しましたが、同じことが起こっていました。

どんな助けや手がかりさえもありがたいです

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

c++ - std :: mapでスレッドセーフな操作は何ですか?

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

次の関数スレッドは安全ですか?

つまり、多くのスレッド間で共有されるこの巨大な読み取り専用マップが必要です。しかし、それを検索してもスレッドセーフかどうかはわかりません。


すべてが最初に一度書き込まれます。

その後、複数のスレッドがそこから読み取ります。

私はこれをできるだけ速くするためにロックを避けようとしています。(私が知っているヤヤの可能性のある時期尚早の最適化)

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

c++ - std::valarray を使用して連続した 2D 配列を保存/操作するにはどうすればよいですか?

std::valarrayを使用して 2D 配列を保存/操作するにはどうすればよいですか?

行/列インデックスによってアクセスされる要素を持つ 2D 配列の例を見たいと思います。この擬似コードのようなもの:

そのような配列を初期化する方法の例もいいでしょう。

Boost.MultiArray、Boost.uBlas、および Blitz++ については既に認識しています。

私のユースケースで valarray を使用すべきではない理由を自由に答えてください。ただし、多次元配列のメモリを連続した (列 x 行) ブロックにする必要があります。Java スタイルのネストされた配列はありません。

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

c++ - C++ での順列と組み合わせのライブラリ関数

n要素からk要素のすべての組み合わせと順列を与えるためにC++で最も広く使用されている既存のライブラリは何ですか?

アルゴリズムではなく、既存のライブラリまたはメソッドを求めています。

ありがとう。