您的位置:首页 > 编程语言 > C语言/C++

2017-4-28 C++笔记 (第三章 字符串、向量和数组)

2017-04-28 21:55 363 查看
#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类型 ,不能两个字符相加。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: