我对矢量有一个愚蠢的怀疑。在下面的代码中
std::vector<char>ve(2); //creates a vector ve of size 2
std::vector<char>vechar[2]; //but what does it do ?
ve vector 中的我可以写
ve[0]='a';
ve[1]='b';
但我不能写
vechar[0]='a';
vechar[1]='b';
我也做不到
std::cout << " vector -->>" << vechar[0];
显示错误。
答案 0 :(得分:8)
std::vector<char>vechar[2]
声明一个由两个char
向量组成的数组(它的语法与例如int arr[2]
中使用的语法相同)。
因此,vechar[0]
是char
的一个向量,vechar[1]
是char
的另一个向量。
两个矢量都是空的,但可以调整大小。
答案 1 :(得分:1)
在NPE的答案中添加更多内容。要添加字符&#39; a&#39;对于vechar [0]或vechar [1]我们必须做以下事情
vechar[0].resize(10);
vechar[1].resize(10);
vechar[0][0]='a'; //means vechar 0 0th element
vechar[0][1] = 'b'; //means vechar 0 1th element
vechar[1][0]='c';
vechar[1][1]='d';
std::cout<<vechar[0][0]<<vechar[0][1];
std::cout<<vechar[1][0]<<vechar[1][1];
答案 2 :(得分:0)
std::vector<char> v[10];
上述声明创建了一个包含10个空向量的数组,与int v [10];
相同答案 3 :(得分:0)
NPE 的精彩解释,,,,, 添加到他身上,以及我如何将 'a' 分配给 vechar[0] 并将 'b' 分配给 vechar[1],根据我的说法如下...... ....
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<char>vechar[2];
vector<char> v1{'a'};
vector<char> v2{'b'};
vechar[0] = v1;
vechar[1] = v2;
//display the 'a' and 'b'
cout << vechar[0][0] << endl; //also may use vechar[0].at(0)
cout << vechar[1][0] << endl; //also may use vechar[1].at(0)
return 0;
}
输出: 一种