cpp知识图谱,详细图谱
C++定义了一套包括算术类型和空类型在内的基本数据类型。
算术类型包括了字符、整形数、布尔值和浮点数。
空类型不对应具体的值,静用于一些特殊的场合。
算术类型分两种:整型和浮点型。
算术类型的尺寸(该类型数据所占比特数)在不同机器上有所差别,C++标准规定了最小值,同时允许编译器赋予更大的尺寸。
类型 | 含义 | 最小尺寸 |
---|---|---|
bool | 布尔类型 | 未定义 |
char | 字符 | 8位 |
wchar_t | 宽字符 | 16位 |
char16_t | Unicode字符 | 16位 |
char32_t | Unicode字符 | 32位 |
short | 短整型 | 16位 |
int | 整型 | 16位 |
long | 长整型 | 32位 |
long long | 长整型 | 64位 |
float | 单精度浮点数 | 6位有效数字 |
double | 双进度浮点数 | 10位有效数字 |
long double | 扩展进度浮点数 | 10位有效数字 |
一个char的大小和一个机器字节一样。
变量提供一个具名的、可供程序操作的存储空间。
变量定义:int sum = 0, value, units_sold = 0; // sum、value、units_sold 都是int, value 和units_sold 初始值为0
初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象当前的值擦除,而以一个新值来替代。
变量声明:extern int i; // 声明 i 而非定义 i
变量定义:int j; //声明并且定义 j
任何包含了显示初始化的声明即成为了定义:extern double pi = 3.14; // 定义
变量能且只能被定义一次,但是可以被多次声明
using namespace::name;
一旦声明了上述语句,就可以直接访问命名空间中的名字。
标准库类型 string 表示可编程的字符序列。
#include
using std::string
初始化 string 对象的方式 | |
---|---|
string s1 | 默认初始化,s1是一个空串 |
string s2(s1) | s2是s1的副本 |
string s2 = s1 | 等价于s2(s1) |
string s3("value") | s3是字面值"value"的副本,除了字面值最后的那个空字符外 |
string s3 = "value" | 等价于s3("value") |
string s4(n, 'c') | 把s4初始化为由连续n个字符c组成的串 |
string 的操作 | |
---|---|
os<<s | 将s写到输出流os当中,返回os |
is>>s | 从is中读取字符串赋给s,字符串以空白分隔,返回is |
getline(is, s) | 从is中读取一行赋给s,返回is |
s.empty() | s为空返回true,否则返回false |
s.size() | 返回s中字符的个数 |
s[n] | 返回s中第n个字符的引用,位置n从0计起 |
s1+s2 | 返回s1和s2连接后的结果 |
s1=s2 | 用s2的副本替代s1中原来的字符 |
s1==s2 | 如果字符完全一样,则它们相等,对字母的大小写敏感 |
s1!=s2 | 如果字符完全一样,则它们相等,对字母的大小写敏感 |
<, <=, >, >= | 利用字符在字典中的顺序进行比较,且对字母的大小写敏感 |