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

#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类型 ,不能两个字符相加。



















发布了29 篇原创文章 · 获赞 3 · 访问量 7161

猜你喜欢

转载自blog.csdn.net/liu432linux/article/details/70941477