[英]How to push_back multiple values into a vector?
我知道這個問題以前曾被問過,而且我知道在C ++ 11中,您可以
vector<int> v = {2,5,8,11,14};
vector<int> v{2,5,8,11,14};
和
v.push_back({x,y});
但這給了我一個編譯錯誤。 我正在使用Visual Studio Express 2012。
我該如何完成?
編輯:錯誤截圖附:
Visual Studio 2012 不支持通過初始化程序列表進行矢量初始化 。 VS2012隨附的標准庫缺少很多C ++ 11支持,而VS2012 C ++編譯器本身支持該庫。
遺憾的是,就像VS2012和gcc 4.7一樣,對新C ++ 11功能的出色編譯器支持受到部分庫支持的阻礙,該支持似乎總是落后於編譯器。
在擁有支持向量初始化程序列表的編譯器之前,可以使用boost :: assign :: list_of
如@Michael Goldshteyn先前所述,無法使用此編譯器及其標准庫。 但是,如果您願意包含Boost庫,則可以使用如下代碼:
#include <boost/assign/std/vector.hpp>
using namespace boost::assign;
{
std::vector< int > myElements;
myElements += 1,2,3,4,5;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.