#include<iostream>
#include<string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string s1(10, 'c');
string s2=("aaa");
s1+=s2;
cout<<s1<<endl;
}
- 顶层const和底层const
- 顶层const : 该表达式定义的对象 不能改变
- 底层const: 指针所指向的是一个const对象(常量)
- auto会自动忽略掉顶层const ,而保留底层const
- 也就是对“指向常量的指针没有影响”,但对“常量”和“常量指针”致命一 击。。
- auto定义的变量必须有初始值,不然无从计算它的数据类型
- decltype(表达式)
- 该语句可以获得表达式的数据类型,并且用来定义其他对象
- 当表达式是一对括号, 或者是个赋值表达式时, 对应的类型是引用。
- int a; decltype(a=b) c=a; ///c为a的别名
----------------------------------------------------------------------------------------------第三章
- 可以使用using 声明命名空间
- 在头文件中,不应该包含using声明,因为会把头文件拷贝到其他文件中,如果头文件声明了std,其他文件可能会重复,造成冲突。
- string
- 输入方式
- cin: 遇到空格就结束输入
- getline(cin,s); 遇到空格不会结束,可以一直读到一行结束
- 触发getline的那个换行符被丢弃,得到的string中不会体现出来
- string大小比较
- 如果长度不同,而内容相同,则长的string比较大
- 如果长度相同,内容不同,则比较第一个出现不同的字符,ascii码大的string比较大
- string加法
- 可以直接和字符字面值,即字符、字符串相加,但必须保证每个+左右两侧至少一个是string类型 ,不能两个字符相加。
-
- 输入方式