私はC++のようなコンテナが必要です。多くの場合Listを使用することが推奨されていますが、push_back操作はサポートされていません。これはListコンテナの拡張メソッドを実装するのはむしろ簡単なことです。しかし。スタックは良い選択肢でしょうか?c#コンテナのpush_back操作
ありがとうございます!
私はC++のようなコンテナが必要です。多くの場合Listを使用することが推奨されていますが、push_back操作はサポートされていません。これはListコンテナの拡張メソッドを実装するのはむしろ簡単なことです。しかし。スタックは良い選択肢でしょうか?c#コンテナのpush_back操作
ありがとうございます!
List<T>.Add
をサポートしています。あなたが探しているものではありませんか?
メモリの割り当て方法を制御できないため、C#でvector
に直接相当することはありません。 std::vector
は常に連続したブロックにそのメモリを持ちます。そう、必要であれば、あなたはそうのようにアクセスできます。
std::vector<int> v;
// add items to v
CallSomeCFunction(&v[0]);
C#があなたにメモリが割り当てられる方法に対する制御を与えないので、ベクトル/アレイとリストの区別は存在しないです。あなたはあなたが望むものであるList
コンテナを使用することができます。
実際、ArrayList <>は連続したメモリに格納されていると思います。 – ronag
http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx - これまでの文書でもそのことを知りませんでした。 GCの仕組みによって、実施することはほとんど不可能です。 –
なぜあなたの目的に合ったリストのメソッドを追加できませんか? ベクトルはFIFOですが、スタックはfiloです。彼らは全く別物です – T33C