我看到How to initialize a vector in c++但是找ä¸åˆ°åŒæ ·çš„情况,所以我在这里问。
这是什么表达?它ä¸æ˜¯äºŒç»´å‘é‡ï¼ˆæˆ‘çš„æ„æ€æ˜¯å‘é‡çš„å‘é‡ï¼‰ã€‚它是å¦ç”¨ä¸¤ä¸ªå…ƒç´ 声明了一个å‘é‡ï¼Ÿ
vector<int> mult_dims(1, 2);
ç”案 0 :(得分:3)
请阅读documentation。
explicit vector (size_type n, const value_type& val);
 Âå¡«å……æž„é€ å‡½æ•°ï¼š Â Â æž„é€ ä¸€ä¸ªåŒ…å«nä¸ªå…ƒç´ çš„å®¹å™¨ã€‚æ¯ä¸ªå…ƒç´ 都是val的副本。
ä½ ç¼–ç
vector<int> mult_dims(1, 2);
æž„é€ ä¸€ä¸ªå¸¦æœ‰ä¸€ä¸ªå…ƒç´ çš„å‘é‡ï¼Œå…¶å€¼ä¸º 2 。
它相当于:
std::vector<int> NO_mult_dims = {2};
ç”案 1 :(得分:0)
多维å‘é‡è¢«å£°æ˜Žä¸ºå‘é‡çš„å‘é‡ï¼š
std::vector<std::vector<int>> multi_dims{};
è¦åˆå§‹åŒ–包å«2ä¸ªå…ƒç´ çš„å‘é‡ï¼Œåªéœ€æ‰§è¡Œ
std::vector<int> my_vec = { 1, 2 };
ç”案 2 :(得分:-1)
int main()
{
std::vector<std::vector<int>> vec; //vector of vector for matrix
vec.push_back({ 10,20,30 }); //first row
vec.push_back({ 11,22,33 }); // second row
for (auto x : vec) //printing matrix
{ std::cout << x[0] << " " << x[1] << " "<<x[2]<<std::endl; }
return 0;
}