C++基础 01 基本内置类型

129 阅读1分钟

1.1 算术类型

算术类型.png 问题1:char类型C/C++标准里没规定是有符号还是无符号,在实际开发过程中可能会导致溢出问题?

思考:查资料结果:

arm-linux-gcc 规定 char 为 unsigned char;

vc 编译器、x86上的 gcc 规定 char 为 signed char;

缺省情况下,编译器默认数据为signed类型,但是char类型除外。

自己思考:

考虑到可移植性和公司同事编译环境可能不统一,日常写代码尽量用signed/unsigned char;也可以用“char -1 >0”或者查CHAR_MIN(stdlib.h)来检查编译环境。(代码规范①)

问题2:跨平台、跨语言应用在各个平台上的字符集编码不同问题?

思考:只能根据各个平台的编码做字符集转换,以及开发前规划好用的API和编码。(开发思路①)

1.2 类型转换

很容易出问题和造成代码难读,尽量不用。(主要是不同型号机器的变量位数不一定相同以及编译环境的差异。)(代码规范②)

避免无法预知和依赖于环境的实现行为。(原则①)

1.3 字面量

02字面值常量.png 转义序列

03_1转义序列.png

03_2转义序列.png

04指定字面值类型.png