这一章主要介绍了c++中的基本数据类型,还有一些编程的技巧。
记录有如下几点:
1.通过增加后缀,能够强制将字面值整数常量转换为long或unsigned,unsigned long类型,如
1L /*long*/
小数点后加L表示扩展精度。
2.声明和定义的区别:
定义用于为变量分配存储空间,还可以为变量指定初始值,声明用于向程序表明变量的类型和名字。
变量必须且仅能定义一次,而且在使用变量之前必须定义或声明变量。
3.循环的条件语句中最好不要直接使用数字,如
for(int index=0;index!=512;++index)
{...}
最好写成:
int bufSize=512;
for(int index=0;index!=bufSize;++index)
{...}
主要是可读性和健壮性会好很多;
4.const的使用
1)定义const对象
由const定义的对象为常量,定义时必须初始化,之后不能被修改。
在全局范围内,非const变量默认为extren,要使const变量能够在其他的文件中访问,必须显示地指定它为extren。
5.引用
引用即为变量的别名,如
#include <iostream>
using namespace std;
int main()
{
    int a=1;
    int &refer=a;
    refer+=2;
    cout<<a<<endl;
    return 0;
}
这里输出的是3.
关于const引用,
const引用是“指向const对象的引用”,可以绑定到不同但相关的类型的对象或绑定到右值,
非const引用指向非const类型的引用,只能绑定到与该引用同类型的对象。
6.typedef的作用
1)为了隐藏特定类型的实现,强调使用类新的目的;
2)简化复杂的类型定义,使其更易理解;
3)允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。
个人感觉是增强程序的可读性。
7.枚举类型的对象初始化或赋值,只能通过其枚举成员或同一枚举类型的其他对象来进行;
枚举成员本身就是一个常量表达式,所以也可用于需要常量表达式的任何地方。
8.在头文件中不应该含有变量或函数的定义,担忧例外:可以定义类、值在编译时就知道的const对象和inline函数;
9设计头文件时,应使其可以多次包含在同一源文件中,必须保证多次包含同一文件不会引起冲突。通常做法是使用预处理器定义头文件保护符。
例:
#ifndef SALESITEM_H
#define SALESITEM_H
//定义类
#endif
说明:
#ifndef检测指定的预处理器变量是否未定义。
#define接受一个名字并定义该名字为预处理变量。接着执行后面的定义,#endif表示结束。