Skip to main content

数据类型的限定

cout << "Hello World"

  • 在C++中,用双引号括起来的字符叫做字符串
  • <<符号表示该语句将把这个字符串发送给cout
  • C++将一个字符串插入到了输出流中
  • cout能够智能识别类型,而printf必须用%s、%d等指出打印数据的类型

cout << endl

  • 表示重起一行,区别于换行符\n,endl确保程序继续运行前刷新输出

cin >> name

  • 信息流从cin流向变量name
  • 表现为通过键盘输入转换为接收信息的变量,存储类型取决于变量类型

说明符

  • auto
    • 让编译器根据变量初始化的表达式来推导变量的类型
  • register
    • 建议编译器使用CPU寄存器来存储自动变量
    • 由于现代编译器都能够自动地为变量分配寄存器,在C++11中,作用等同于 auto
  • static
    • 声明静态变量、静态函数、静态类成员
  • extern
    • 用于声明外部变量、函数和对象
    • 其作用是告诉编译器这些标识符是在别的文件中定义的,并在本文件中使用
  • thread_local
    • 声明的变量将具有线程局部存储期,这意味着每个线程都将拥有自己的变量副本
    • 用于多线程编程
  • mutable
    • 即使结构(或类)变量为const,其某个成员也可以被修改

cv限定符

  • const
    • 内存初始化后,程序便不能再对它进行修改
  • volatile
    • 用于指示某个变量的值可能会在程序外部被修改
    • 编译器会将这个值缓存到寄存器中,这在访问硬件或共享数据时非常有用

名称空间

  • using 编译指令:using namespace std
  • using 声明:using std::cout
  • 不使用:std::cout

不能重载的运算符

  • sizeof
  • .
  • .*
  • ::
  • ?:

nullptr

  • 专门用来区分空指针 NULL、0
  • 能够隐式的转换为任何指针或成员指针的类型

constexpr

  • 告诉编译器去验证一个变量是否是常量表达式