問題タブ [std]

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

c++ - 複数のスレッドからの追加、削除、反復子をサポートするスレッドセーフな C++ std::set

addJavaのCopyOnWriteSetに似たもの、サポートするセット、および複数のスレッドからのremoveある種のものを探しています。iterators

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

c++ - C++ std::system 'system' は std のメンバーではありません

「std::system(SomeString)」からの呼び出しを行う C++ プログラムのコンパイル中にエラーが発生しました。このプログラムは 3 年前にコンパイルされましたが、今日コンパイルすると、'system' は 'std' のメンバーではないというエラーが表示されます。std::system を使用するためにインポートする必要があるものはありますか、それは放棄されましたか、それとも別のヘッダー ファイルに移動されましたか。

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

c++ - C 配列の代わりに C++ ベクトルを使用するとパフォーマンスが低下する

C の配列ではなく、C++ で標準ライブラリのベクトルを操作すると、パフォーマンスが低下しますか?

0 投票する
41 に答える
1026963 参照

c++ - 「名前空間stdを使用する」のはなぜですか。悪い習慣だと思いますか?

私は他の人から、コードを書くのは間違っているので、代わりに直接using namespace std;使うべきだと言われました。std::coutstd::cin

なぜusing namespace std;悪い習慣と見なされるのですか?それは非効率的ですか、それともあいまいな変数(std名前空間の関数と同じ名前を共有する変数)を宣言するリスクがありますか?パフォーマンスに影響しますか?

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

c++ - ネストされたペアへのアクセス

ペアを分解するには、次のようにします。

入れ子になったペアにアクセスするにはどうすればよいでしょうか?

たとえば、ベクターを補足マップに含まれるアイテムと、補足マップに含まれていないアイテムに分割したい場合は、次のようにしました。

ここで 2 番目の問題があります。アプリケーションの実行中に user_info のステータス bool が変更される可能性があり、後で補足マップに含まれているだけでなく、true のステータス bool を持つアイテムでベクトルを再分割したいと考えています。 .

ただし、ネストされたペアの 2 番目の項目へのアクセスに問題があるようです。

次のことを試しましたが、ネストされたペアにアクセスできないようです!

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

c++ - std::string はどのように実装されていますか?

std::string の実装方法と c 文字列との違いを知りたいです。標準で実装が指定されていない場合、説明付きの実装は、標準で指定された文字列要件をどのように満たすかという点で優れていますか?

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

c++ - 標準文字列を検索/検索して置換するにはどうすればよいですか?

の部分文字列のすべての出現箇所を別の文字列に置き換える方法はありstd::stringますか?

例えば:

0 投票する
8 に答える
1491 参照

c++ - c++ std vector - 無効化されたイテレータの質問

ポインターの標準ベクトルがあります。

このベクトルへのイテレータが無効になる可能性があるのは、どのような状況ですか?

オブジェクトが削除されると、それを参照するベクトル反復子が無効になると信じる理由があります。しかし、これは私には正しくないようです。これが Managed .NET のコンテナーの標準的な動作であると私は信じていますが、これは C++ ではうまくいかないように思えます。

これは Iterator It を無効にするべきですか? そうすべきではないように思えますが、デバッグするのが難しい問題で立ち往生しています! (回避策が怖いです-整数インデックスを介してベクトルを反復処理します。(これはうまく機能します...上記が無効化の問題を引き起こしている理由が怖いだけです)。

お時間をいただきありがとうございます。

編集:アドバイスをありがとう。一般的なコンセンサスは、上記のコードは危険ですが、Iterator を無効にしないということです。Visual Studio 2008 デバッガーでエラーが発生したと思います。プロジェクトを翌日開いた後、この無効化の問題がなくなったからです。そのため、コンピューターの多くの場合と同様に、他に何も機能しない場合は、リセットしてみてください。

0 投票する
6 に答える
37802 参照

c++ - C++ の `std::map` に参照を格納できないのはなぜですか?

参照はポインターではなく、オブジェクトへのエイリアスであることを理解しています。しかし、これがプログラマーとしての私にとって正確に何を意味するのか、つまり、ボンネットの下の参照とは何なのか、まだ理解していません。

これを理解する最善の方法は、参照をマップに保存できない理由を理解することだと思います。

参照をポインタよりも構文上の甘いものと考えるのをやめる必要があることはわかっていますが、どうすればよいかわかりません:/

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

c++ - std :: map::iteratorが増分時にプログラムをクラッシュさせる

何が原因でしょうか?

スタックトレースは次のとおりです。

そしてここにコードがあります:

編集:この次の問題は関連しているので、まったく新しい質問を開くことはしません。回答はそのままにしておきます。私はただ何かを知る必要があります。2つのイテレータがあります。1つはメインで、もう1つは関数呼び出し後のメイン内にあります。それらは両方とも同じマップに関連しています。さて、内部のものはすべて破損し、メインのもののループは反復を停止します。

これがコードです。

StartLayoutは次のとおりです。

そしてここにSetupChars()があります:

そして、これが起こることです:

最後の編集:私はそれを理解しました。新しいイテレータの元のマップのコピーが必要でした。