stdvector

    5

    3答えて

    clangでは、std :: vectorsや他のSTLコンテナへの[]アクセスの境界チェックを有効にする方法がありますか?デバッグモードでのみビルドするのが好ましいでしょうか? 私はstd :: vectorの最後を過ぎてアクセスしたことが原因であることが判明した微妙なバグを数時間捜しました。エラーを検出したときに何もする必要はなく、デバッガでトラップするだけで、どこで発生したのかを知ることがで

    19

    3答えて

    私は、データポイントのセットからランダムにサンプリングする単一の関数を定義するC++ライブラリをコンパイルしています。データポイントはstd::vectorに格納されています。 126,272 std::vector push_backステートメントがあります。問題のベクトルはdoubleです。コンパイルには長い時間がかかります。 なぜこれほど長い時間がかかりますか? (非常に少ない他のコードがあ

    10

    4答えて

    私にはstd::vectorがあります。私はサイズが6であることを確認しますが、エラーが出るかどうかを確認するためにvec[6]にアクセスしようとすると、エラーは表示されず、代わりに数字が表示されます。それはエラーを与えるべきではありませんか? 編集:のようなもの: struct Element { std::vector<double> face; }; int main()

    5

    3答えて

    私はstd::map<int, std::vector<SomeStruct>>, を持っており、std::vector<SomeStruct> FindData(int key)のようなクエリを提供しています。 データ全体のコピーを防止するため、std::vector<SomeStruct>& FindData(int key)に変更しました。 しかし、特定のデータはありませんkey、時々私は返

    6

    1答えて

    可能性の重複: Does moving a vector invalidate iterators? 次のコードを考えてみましょう: std::vector<T> prepare(T*& data) { std::vector<T> buffer; // Fill in buffer. data = buffer.data(); return buffer;

    22

    2答えて

    私はstd::vector<std::uint8_t>を複製する必要があります。これは、単にコピーコンストラクタを呼び出すことによって行われます。 私のプロファイリングの結果は、Microsoft Visual C++(msvc100)の実装ではstd::uninitialized_copyを内部的に使用していることを示しています。これは、すべての要素を1つずつコピーします。この場合、一度にメモリ

    5

    3答えて

    以下の最初のコードスニペットのC++コードを考慮すると、2番目のスニペットに示されているコンパイルエラーが発生しています。私は、ベクトルインスタンスをトラバースするときに間違っているように見えます。これらのコンパイルの問題をどのように克服できるか教えてください。ありがとう。コードにはライン171が記されています。この行で SNIPPET 1(コード) #include <string> #inc

    6

    4答えて

    例えば、私は長さが10のベクトルを持っています。 どうすれば16進数で初期化できますか? (合成ツールは、16進数値が4の倍数であると考えてサイズの不一致を訴えます) signal v : std_logic_vector (9 downto 0) := x"11A"; 多くの感謝! Nigong

    33

    5答えて

    これは愚かな質問かもしれませんが、私はC++とプログラミング一般にはかなり新しいです。 私はいくつかのSTLコンテナの使用を理解したいと思いますし、それを念頭に置いて、ベクトルやマップを使用してstd :: set vsを使用する利点が何であるか疑問に思っていましたか? 私はこの質問に対する明白な答えを見つけることができないようです。私はセットがマップを使用していることに気づいたが、マップを常に使

    8

    1答えて

    私は次のものを思いついたが、かなりハッキリに見える。 vector<int> collection; collection.push_back(42); int *pointer = &(*(collection.end()--)); 最後に挿入された要素へのポインタを取得する簡単な方法はありますか?