C++ 中的基本内置类型以及编程过程中对于类型的选择建议
来源:互联网 发布:观一叶而知秋唯美句子 编辑:程序博客网 时间:2024/05/21 12:43
我的主力博客:半亩方塘
C++ 中定义了包括 算术类型 和 空类型 在内的数据类型,空类型一般只用于特定的场合,例如在程序运行完毕后补要求返回任何值时,可对函数类型用空类型,算术类型总的来说包括两个方面:整型(包括字符型以及布尔型在内) 和 浮点型,C++ 标准只是规定了算术类型所占的最小比特位:
不同的编译器可以给予这些算术类型比以上这些标准尺寸更大的不同尺寸,对于算术类型,需要强调的有以下几点:
(1) bool 类型只有两个值,非真(1)即假(0),当给一个布尔类型赋一个非零值时,统统按 真(1) 对待,只有赋 0 时,才是 假(0)
(2) int、short、long、long long 全是带符号类型,需要无符号类型时在它的前面加上 unsigned 即可,unsigned int 也通常写作 unsigned
(3) 字符型被分为 char、unsigned char 和 signed char 三种,特别需要注意的是, char 和 signed char 并不一样,尽管字符型有三种,但是字符的表现形式却只有两种:带符号的和无符号的,类型 char 实际上会表现为以上两种形式之一,具体哪种由编译器决定
如何选择类型:
- 当明确知道数值不可能为负时,选择无符号类型
- 使用 int 执行整数运算,在实际应用中,short 常常显得太小而 long 一般和 int 有一样的尺寸,如果你的数值超过了 int 的表示范围,选用 long long
- 在算术表达式中不要使用 char 或者 bool,只有在存放字符或者布尔值时才使用它们,因为类型 char 在一些机器上是有符号的,而在另一些机器上又是无符号的,所以如果使用 char 进行运算特别容易出问题,如果你需要使用一个不大的整数,那么明确指定它的类型是 signed char 或者 unsigned char
- 执行浮点数运算选用 double ,这是因为 float 通常精度不够而且双精度浮点数和单精度浮点数的计算代价相差无几,事实上,对于某些机器来说,双精度运算甚至比单精度还快,long double 提供的精度在一般情况下是没有必要的,况且它所带来的运算时消耗是不能被忽略的
参考了 C++ Primer中文版第5版
0 0
- C++ 中的基本内置类型以及编程过程中对于类型的选择建议
- C/C++中的内置基本类型
- python中的内置基本类型
- C++中的内置类型以及类型转换
- Python的基本内置类型
- Python的基本内置类型
- 基本内置类型的存储空间
- Java中的char类型以及不建议使用的原因
- c++primer/2/21---基本内置类型
- C++Primer读书笔记之基本内置类型
- c++primer笔记--2.1基本内置类型
- C++中内置基本类型的字节数
- C专家编程:对无符号类型的建议
- 优先选择基本类型而不是基本类型的包装类型
- c++primerP29-----P51 基本内置类型,变量,复合类型
- 对于类型选择的有趣处理
- Java中8中基本类型(内置类型)
- C++基本内置类型
- Q3.5
- DevExpress 13.2.7的一些调整
- ScrollView下的ViewPager滑动异常
- ComboBox添加条目方法
- VCS相关命令
- C++ 中的基本内置类型以及编程过程中对于类型的选择建议
- 数据库架构的理解
- 关于memset函数的使用
- HDU2116 Has the sum exceeded
- IOS GDataXml 用法总结
- cocos2dx之获取当前的输入法语言
- 五常委参加审议讨论 习近平:要做改革的弄潮儿
- Git学习系列(三)版本回退和管理文件的修改及删除操作
- 多年SEO经验总结