使用Vector时,编译报错:vector 不是模板
#include <vector>;
vector<CString> v_Value; 编译报错
vector<vector<CString>> v_Results; 编译报错
修改为
#include <vector>;
using namespace std;
vector<CString> v_Value;
vector<vector<CString>> v_Results;
或者
#include <vector>;
std::vector<CString> v_Value;
std::vector<std::vector<CString>> vecResults;
原因:list和vector在命名空间std里,需要声明using namespace std;或者std::vector name
既然说到 vector ,那么自然离不开初始化,我一般只用:
1. 不带参数的构造函数初始化
//初始化一个size为0的vector
vector<CString> strTmp;
2. push_back的方式
vector<CString> letter;
letter.push_back("Hello");
letter.push_back("world");
备注:
vector<int> sum;
sum[0]=1; X这种不能用下标赋值,只能用push_back()
3. 二维数组
//[[1,2],[3,4],[5,6],[7,8]]
vector<vector<int>> intArray;
具体请参考以下方式:
vector的几种初始化及赋值方式
vector的初始化方式及用法笔记
要想用好vector,必须要掌握的几种常见用法,一般情况下只需要掌握以下用法:
1. v.size() 获取容器的元素个数
2. v.empty() 判断容器是否为空():为空返回true,为假返回false
2. v.push_back() 尾部添加一个元素()
3. v.pop_back() 尾部删除一个元素
4. v.at() 获取对应位置的元素
5. v.insert() 元素的插入
6. v.erase() 删除元素
// 删除第一个元素
v1.erase(v1.begin());
// 删除第一个到第三个元素
v1.erase(v1.begin(), v1.begin() + 3);
7. v1.clear() 删除所有元素
具体用法请参照:
为什么要使用vector呢,谁用谁知道,也建议大家去学习下其他容器,总有你想用并能用的:
https://blog.csdn.net/yjunyu/article/details/77728410
https://www.cnblogs.com/cyq-ll/p/12503564.html
https://blog.csdn.net/cpp_learner/article/details/104589416/
https://www.cnblogs.com/steamedbun/p/9376403.html