std::vector 初期化の簡略化
C で配列を扱う場合、初期化は多くの場合簡単です:
int a[] = {10, 20, 30};
ただし、 std::vector の初期化は、 Push_back() メソッド:
std::vector<int> ints; ints.push_back(10); ints.push_back(20); ints.push_back(30);
C 11 ソリューション (サポートあり)
コンパイラーが C 11 をサポートしている場合は、初期化子リストを利用できます:
std::vector<int> v = {1, 2, 3, 4};
これは GCC バージョン 4.4 および
代替オプション (Boost.Assign を使用)
古いコンパイラの場合、Boost.Assign ライブラリは非マクロ ソリューションを提供します:
#include <boost/assign/list_of.hpp> ... std::vector<int> v = boost::assign::list_of(1)(2)(3)(4);
または、Boost.Assign を使用します。演算子:
#include <boost/assign/std/vector.hpp> using namespace boost::assign; ... std::vector<int> v; v += 1, 2, 3, 4;
Boost.Assign は手動初期化と比較してパフォーマンスのオーバーヘッドがある可能性があることに注意してください。
以上がC で std::vector の初期化を簡素化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。