問題タブ [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.
c++ - std::vector 下方向にサイズ変更
resize(n)
C++ 標準では、 、 with n < size()
、または のいずれかによる容量への副作用については何も述べていないよう
clear()
です。
push_back
との償却コストについてのステートメントを作成しますpop_back
- O(1)
通常の種類の容量変更を CLRS アルゴリズムで行う実装を想像できます (例: 拡大すると 2 倍になり、縮小すると半分になりsize to < capacity()/4
ます)。(Cormen Lieserson Rivest Stein)
実装の制限についての参照はありますか?
c++ - 標準ライブラリでコンパイル エラーが発生します。調子はどう?
特定されていないソフトウェアをコンパイルしようとしていますが、stdio.h
. エラーは、ほとんどの場合、 などの宣言されていない識別子_In_
です。IntelliSense は、それらの定義を適切に検出します。この原因をどのような一般的な方向で探す必要がありますか?
追加: たとえば、1 つの cpp ファイルstdio.h
には最初に含まれるファイルがあります。その前に確認できる定義はありません。プリコンパイル済みヘッダーは使用されません。私のインストールの他のものは問題なくコンパイルされます。
c++ - なぜこの変換が機能しないのですか?
以下は私の機能です。私はそれを
RHS = "15\t// コメント"
v=15 で true を除き、false を返します。これを修正するにはどうすればよいですか?
c++ - std::dec/hex/oct をルックアップ配列に入れる方法
私はこの一般的な文字列から数値への変換を持っています:
switchケースを細かいルックアップ配列に変えたいと思います。次のようなものです。
*error C2440: 'initializing' : cannot convert from 'std::ios_base &(__cdecl )(std::ios_base &)' to 'std::ios_base'
これもうまくいきません:
エラーC2234 : 'arr': 参照の配列が不正です
それで、この問題の解決策はありますか?
c++ - std::map に違いはありますかおよび std::map?
私が理解していることから、 std::map の値ペアのキーは、一度挿入すると変更できません。これは、キー テンプレート引数を const としてマップを作成しても効果がないということですか?
c++ - C ++ std :: setはスレッドセーフですか?
std::setのスレッドセーフについて質問があります。
私の知る限り、セットを反復処理してメンバーを追加/消去することができますが、それによって反復子が無効になることはありません。
ただし、次のシナリオを検討してください。
- スレッド「A」は、shared_ptr<Type>のセットを繰り返し処理します
- スレッド「B」は、このセットにアイテムを追加することがあります。
プログラムの実行中にsegfaultが発生しましたが、なぜこれが発生するのかわかりません。スレッドセーフの欠如が原因ですか?
c++ - abs(double) へのあいまいなオーバーロード呼び出し
次の C++ コードがあります。
そしてmake
爆発する:
また興味があります:
float を処理できる cmath.h でコンパイラが abs() を呼び出す必要があることをどのように指定できますか?
コンパイラ情報 (これが重要かどうかは不明):
c++ - std 関数のオーバーライド
std::time など、std 関数の動作をオーバーライドしたいと思います。std::time を呼び出して、カスタム関数を介してルーティングすることは可能ですか?
c++ - 大きなstd::listでの反復が非常に遅いのはなぜですか?
タイトルが示すように、std :: listをスタックとして使用し、リストのすべての要素を反復処理するプログラムで問題が発生しました。リストが非常に大きくなったとき、プログラムはあまりにも長くかかっていました。
誰かがこれについて良い説明がありますか?スタック/キャッシュの動作ですか?
(リストをstd::vectorとstd::deque(ちなみに驚くべきデータ構造)に変更することで問題を解決し、すべてが突然非常に速くなりました)
編集:私はばかではなく、リストの真ん中にある要素にアクセスしません。私がリストで行った唯一のことは、最後/最初の要素を削除/追加し、リストのすべての要素を反復処理することでした。そして、私は常にイテレータを使用してリストを反復処理しました。