7、变量初始化规则:内置类型变量初是否自动初始化决定于变量的位置。在函数体外定义的变量都初始化为0;定义在函数体内的变量不进行自动初始化。
8、声明和定义:变量的定义用于为变量分配空间,还可以为变量指定初始值。声明用于向程序表明变量的类型和名字。定义必须声明,声明可以不定义。C++中定义只能有一次,声明可以是多次。
9、非const引用只能绑定到与该引用同类型的对象。const引用则可以绑定到不同但相关的类型的对象或者绑定到右值。如
double dval = 3.14;
const int &ri = temp;
10、typedef double wages;
typedef通常被用于以上三种目的:
·为了隐藏特定类型的实现,强调类型的目的。
·简化复杂的类型定义,使其更易理解
·允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。
11、struct和class的区别:
用class和struct关键字定义类得唯一差别在于默认访问级别:默认情况下,struct的成员为public,而class的成员为private。
12、头文件的正确使用能够带来两个好处:保证所有文件使用给定实体的同一声明;当声明需要修改时,只有头文件需要更新。头文件用于声明而不是定义。一些const对象定义在头文件中。
13、C++预处理器:
避免多重包含的措施:
#ifndef PREPROCESSOR_NAME
#define PREPROCESSOR_NAME
//Definition of class and related functions goes here
#endif
建议:头文件都应该保护符。
#include指示接受以下两种形式:
#include<iostream>
对于这种形式则认为该头文件是标准头文件。编译器将会在预定义的位置查找头文件,这些预定义的位置可以通过设置查找路径环境变量或者通过命令行选项修改;
#include "my_file.h"
这种形式被认为是非系统文件,非系统文件的查找通常开始于源文件所在路径。