简化 std::vector 初始化
在 C 中使用数组时,初始化通常很简单:
int a[] = {10, 20, 30};
但是,使用push_back()初始化std::vector可能会更麻烦方法:
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中文网其他相关文章!