問題タブ [stdset]
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++ - C++、セットをベクトルにコピー
にコピーstd::set
する必要がありますstd::vector
:
問題はどこだ?
c++ - std :: setコンテナでの定数文字ポインタの使用:メモリ消費
私は現在、メモリが非常に少ない(4MB)デバイスで作業しており、std::setを必要とするプログラムのコンポーネントがあります。このセットをstd::stringの使用からconstcharポインターの使用に移行したいのですが、std :: setで使用すると、定数文字ポインターにメモリーがどのように割り当てられるのか疑問に思いました。
std :: setへの各エントリに割り当てられたメモリは、ポインタがセットから削除されたときに解放されますか(.clear()を使用するか、スコープ外になります)、または文字列リテラルは、プログラムの実行?
ご助力ありがとうございます。:)
c++ - set::insertはコピーまたはポインタを保存しますC++
関数set::insert
は要素またはそのコピーへのポインタを保存しますか?つまり、次のコードを実行できますか、それともポインタが削除されていないことを確認する必要がありますか?
で例を示しましたint
が、実際のプログラムでは、作成したクラスを使用しています。
c++ - C ++で集合のベクトルを行う方法は?
セットの単純な配列を実行できます:
set < char > * words = new set < char > [10]
セットのベクトルを実行するにはどうすればよいですか?これにより、コンパイラエラーが発生します
vector < set< char >> v
。回答ありがとうございます!
c++ - std::set の std::inserter に .begin() と .end() を使用することに違いはありますか?
it1 と it2 に違いはありますか?
c++ - Pythonのdifference_updateに相当するC++?
s1 と s2 はセットです (Python セットまたは C++ std::set)
s2 の要素を s1 に追加するには (セット ユニオン)、次のようにします。
s1 から s2 の要素を削除するには (集合の差)、次のようにします。
これに相当する C++ は何ですか? コード
s1.erase() は s1 からの反復子を必要とするため、機能しません。コード
動作しますが、少なくとも Python と比較すると、過度に複雑に見えます。
もっと簡単な方法はありますか?
c++ - C++セット-キーがx未満の要素の数
私はaを持っていて、set<int>
その中の要素の数がx未満であるかどうかを確認したいと思います。(xもintです)
私は何をすべきか?
c++ - C++ のセットで begin() と end() を使用する
イテレータを使用してセットを通過し、そのセットのメンバーで何かをしようとしています(存在する場合)。問題は、通常はこれが機能することですが、空のセットの最初と最後を比較して、それらが等しくないことが判明することがあります。
対象のコード スニペットは次のとおりです。
verlet_vars.verlet()[i] に含まれるセットが空であっても、プログラムは反復子をセットの末尾と比較し、それらが等しくないことを検出し、内部ループに入ります (最終的にプログラムがクラッシュします)。 force() 関数を呼び出そうとすることによって)。奇妙なのは、内部ループが呼び出される前にイテレータで何かを行う場合です。たとえば、次のようにします。
その後、内側のループの比較は常に true を返し、プログラムは正常に実行されます。
PS コマンド verlet_vars.verlet()[i] はセットのベクトルを呼び出すため、[i]
verlet() 関数:
御時間ありがとうございます。
c++ - C ++でのセットリスト
C ++でセットリストを作成し、要素でいっぱいにしました
だから、セットリストのすべての要素をチェックしたいのですが、何を入れる必要がありますか?
c++ - セットにC++の特定の範囲の要素があるかどうかを確認する方法
std::set
aに範囲内の要素が含まれているかどうかを確認する必要があります。たとえば、セットがでset<int>
{1, 2, 4, 7, 8}
あり、int
間隔[3, 5]
(両方のエンドポイントを含む)が指定されている場合、セットに要素があるかどうかを知る必要があります。この場合、trueを返します。ただし、間隔が[5, 6]
、の場合はfalseを返します。間隔はですが[4, 4]
、ではありません[5, 3]
。
使用できるようですがset::lower_bound
、これが正しいアプローチかどうかはわかりません。また、複雑さをできるだけ低く抑えたいと思います。使用lower_bound
は対数だと思いますよね?