C++ Primer笔记 第2章 变量和基本类型

本文深入探讨了C++编程中的算术类型存储、基本数据类型、整型常量与浮点字面量的类型、字符串处理、赋值操作、初始化方式、变量作用域、const变量与extern关键字、引用类型、枚举类型、类成员函数访问级别、类定义中的关键字选择、常量表达式的使用、头文件管理、预处理器指令以及开发工具的概述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.算术类型的存储空间依机器而定,C++标准规定了每个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。
2.一般地,short类型为半个机器字长,int类型为一个机器字长,而long类型为一个或两个机器字长(32位机器中int类型和long类型通常字长是相同的)。
3.C++中,把负值赋给unsigned对象是完全合法的,其结果是该负数对该类型的取值个数求模后的值。
4.字面值整数常量的类型默认是int或long类型。在数值后面加L或l指定常量为long类型,在数值后面加U或u定义unsigned类型。
5.默认的浮点字面值常量为double类型,在数值后加上F或f表示单精度,加上L或l表示扩展精度。
6.为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符(即'\0')。
7.左值:左值可以出现在赋值语句的左边或右边。右值:右值只能出现在赋值的右边,不能出现在赋值语句的左边。
8.C++支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中:
int ival(1024);//直接初始化
int ival=1024;//复制初始化
直接初始化语法更灵活且效率更高。对类类型的对象来说,有些初始化仅能用直接初始化完成。
9.内置类型变量是否自动初始化取决于变量定义的位置。在函数体外定义的变量都初始化成0,在函数体里定义的内置类型变量不进行自动初始化。
10.因为常量在定义后就不能被修改,所以定义时必须初始化。
11.在全局作用域里定义非const变量时,它在整个程序中都可以访问。
12.除非特别说明,在全局作用于声明的const变量是定义该对象的文件局部变量,即const对象默认为文件的局部变量。通过指定const变量为extern,就可以在整个程序中访问const对象。
14.总结以上2个:非const变量默认为extern,要使const变量能够在其他的文件中访问,必须显式指定它为extern。
15.每一种引用类型都“关联到”某一其他类型。不能定义引用类型的引用,但可以定义任何其他类型的引用。
16.当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象。初始化是指明引用指向哪个对象的唯一方法。
17.非const引用只能绑定到与该引用同类型的对象,const引用则可以绑定到不同但相关的类型的对象或绑定到右值。
18.默认地,第一关枚举成员赋值为0,后面的每个枚举成员赋的值比前面的大1,枚举成员值可以是不唯一的。
19.枚举类型的对象的初始化或赋值,只能通过其枚举成员或同一枚举类型的其他对象来进行。
20.类的成员函数可以使用类的任何成员,而不管其访问级别。访问标号public、private可以对此出现在类定义中,给定的标号应用到下一个标号出现为止。
21.使用class还是struct关键字来定义类,仅仅影响默认的初始访问级别:默认情况下struct的成员为public,而class的成员为private。
22.大部分的编译器在编译时都会用相应的常量表达式来替换掉对const变量的使用。所以在实践中不会有任何存储空间用于存储用常量表达式初始化的const变量。
23.头文件应该含有保护符,即使这些头文件不会被其他头文件包含。
24.#ifndef指示检测指定的预处理器变量是否未定义。如果预处理器未定义,那么跟在其后的所有指示都被处理,直到出现#endif。
#ifndef SALESITEM_H
#define SALESITEM_H
//Sales_item类定义
#endif
25.如果头文件包括在尖括号(<>)里的是标准头文件,编译器将会在预定义的位置集查找该头文件,这些预定义的位置可以通过设置查找路径环境变量或通过命令项来修改。使用的查找方法因编译器的不同而差别迥异。如果头文件在一对引号的则是非系统头文件,查找通常开始于源文件所在的路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值