1 基本内置类型
bool 未知大小
char 8位
wchar_t short int 16位
long 32位
float 6位有效数字 1个字节 大部分情况不够用
double long double 10位有效数字 2个字节或更多
==大概多用int uint double. 金钱数据
2 字面常量
整形只有 int long
浮点类型 float = 1.2f double = 3.14E0F
字符串常量; "hello" (位了兼容C 自动在最后添加一个空字符)
可使用 \ 来 处理多行
std::cou\
t << "hello " << endl; 等价于 std::cout << "hello " << endl;
3 变量
变量提供了 程序可以操作的 有名字的 存储区
变量都有类型,类型决定了内存的大小和布局,值得范围和可用在该类型上的操作集.
左值: lvalue 可以出现在赋值语句的左边或右边.
右值:rvalue 只能出现在赋值语句的右边.
变量是左值, 常量是右值.
变量名 = 标识符 C++是区分大小写的. 关键字也是不可以做变量名的.
初始化:
1 复制初始化 int ival = 1024;
2 直接初始化 int ival(1024);
复制初始化 不等于 赋值. 底层调用的是不一样的.
函数体外的变量都初始化为0 函数内部的不初始化
4 作用域
定义在函数外部的叫 全局作用域
函数内叫 局部作用域
FOR语句内 叫语句作用域
5 const 限定符
定以后不可修改
6 引用 &
引用就是对象的另一个名字 必须用同类型来初始化
const 引用 可以读取 不可修改的对象.
7 typedef
隐藏特定类型的实现 简化复杂的类型定义
8 枚举 enum
默认第一个枚举成员赋值为0 后面比前一个大1
枚举成员是常量 可以不唯一
9 类
定义类来实现自定义类型 string ostream 都是类
类定义后的分号不要忘记
类: 成员函数 + 数据成员
每个类都定义了它自己的作用域
class 和 struct 区别就是 默认访问级别
因为支持分别编译
分为头文件:用于声明
实现文件:可多份 定义函数
10 预处理器
#include 来包含文件 <>标准头文件 ""非系统头文件
为了只包含一份 使用 #ifndef #define #endif 来自定义变量
access label-访问标号 address-地址 arithmetic type-算数类型 array-数组 byte-字节 compound type-复合类型 const reference-CONST引用 constant expression-常量表达式
constructor-构造函数 copy-initialization-复制初始化 declaration-声明 definition-定义 direct initialization-直接初始化 enumeration-枚举 global scope-全局作用域 identifier-标识符