实习-C++知识点(持续更新)
- Vector 定义一个二维数组并初始化
方法1:
vector<vector<int>> vec(5, vector<int>(6, 0));
方法2:
vector<vector<int> > array(m);
for(int i=0;i<m;i++)
array[i].resize(n);
- Vector的遍历
for (int i = 0; i < vec.size(); i++)
{
for(int j = 0; j < vec[i].size(); j++)
cout << vec[i][j] << " ";
cout << endl;
}
- Vector的常用函数(不含迭代器)
初始化:
vector():创建一个空vector
vector(int nSize):创建一个vector,元素个数为nSize
vector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为t
函数:
void push_back(const T& x):向量尾部增加一个元素X
void pop_back():删除向量中最后一个元素
void clear():清空向量中所有元素
reference at(int pos):返回pos位置元素的引用 如 vec.at(0)
reference front():返回首元素的引用如 vec.front()
reference back():返回尾元素的引用
循环时用到的:
bool empty() const:判断向量是否为空,若为空,则向量中无元素
int size() const:返回向量中元素的个数
int capacity() const:返回当前向量所能容纳的最大元素值
- String和Char
符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。
下面的声明和初始化创建了一个 RUNOOB 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 RUNOOB 的字符数多一个。
C++ 编译器会在初始化数组时,自动把 \0 放在字符串的末尾。
对String操作的函数(C++专属):
strcpy(s1, s2): 复制字符串 s2 到字符串 s1。
strcat(s1, s2): 连接字符串 s2 到字符串 s1 的末尾。连接字符串也可以用 + 号(因为重写了+运算符)。
strlen(s1): 返回字符串 s1 的长度。
strcmp(s1, s2): 如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回值小于 0;如果 s1>s2 则返回值大于 0。
strchr(s1, ch): 返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2): 返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
string str1 = "runoob";
string str2 = "google";
string str3;
int len ;
str3 = str1;
str3 = str1 + str2;
len = str3.size() 或者 stre.length();
empty = str2.empty()
int num = 456; str3 = to_string(num)
TODO 对Char操作的函数(C语言专属):
未完待续