03_C++的一些语法特性
C++中的string类
以前用 char[] 的方式处理字符串很繁琐。
string 类,定义、拼接、输出、处理都很简单
string 只能用 cin 和 cout 处理,无法用 scanf 和 printf 处理:
1 | string s = "hello world"; // 赋值字符串 |
- cin读入字符串的时候,是以空格为分隔符的
- 如果想读入一整行的字符串,就需要使用 getline
- s 的长度可以用 s.length()获取
- 字符数量,不包含\0
1 | string s; // 定义一个空字符串s |
string 中还有个很常用的函数叫做 substr,作用时街区某个字符串中的淄川,用法有两种形式:
1 | string s2 = s.substr(4); // 表示从下标4开始一直到结束 |
C 与 Cpp 结构体的区别
1 | struct stu{ |
STL
vector
头文件 #include < vector >
命名空间 using namespace std;
- vector默认置零
- 可以在设定后动态地resize
1
2
3
4
5
6
7
8
using namespace std;
int main(){
vector<int> v1; // 定义⼀个vector v1,定义的时候没有分配⼤小
cout << v1.size(); // 输出vector v1的⼤大⼩小,此处应该为0
return 0;
}1
2
3
4
5
6
7
8
9
10
11
12vector<int> v(10); // 直接定义⻓度为10的int数组,默认这10个元素值都为0
// 或者
vector<int> v1;
v1.resize(8); //先定义一个vector变量v1,然后将⻓度resize为8,默认这8个元素都是0
// 在定义的时候就可以对vector变量进行初始化
vector<int> v3(100, 9);// 把100⻓度的数组中所有的值都初始化为9
// 直接⽤用[]下标访问即可(也可以⽤用迭代器器访问,下⾯会讲)
v[1] = 2;
cout << v[0];
几个vector的常用方法
1 |
|
容器 vector\set\map 都可以用迭代器访问遍历。
c.begin() 是一个指针,只想容器的第一个元素, c.end() 指向容器的最后一个元素的后一个位置
- Post title: 03_C++的一些语法特性
- Create time: 2022-06-28 16:02:39
- Post link: Code-like-tourist/03-c-的一些语法特性/
- Copyright notice: All articles in this blog are licensed under BY-NC-SA unless stating additionally.