2008年7月18日 台风海鸥登陆
1、声明与定义
变量的声明用于向程序表明变量的类型和名字。变量的声明包括对象名、对象类型和对象类型前的关键字extern:
当设计头文件时,记住定义和声明的区别是很重要的。定义只可以出现一次,而声明则可以出现多次
***因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义。
2、include
#include 指示只接受一个参数:头文件名。预处理器用指定的头文件的内容替代每个 #include。我们自己的头文件存储在文件中。系统的头文件可能用特定于编译器的更高效的格式保存。无论头文件以何种格式保存,一般都含有支持分别编译所需的类定义及变量和函数的声明。
C++ 预处理器继承于 C 语言。但C++ 程序以高度受限的方式使用预处理器。
3、预处理器变量
设计头文件时,应使其可以多次包含在同一源文件中,这一点很重要。我们必须保证多次包含同一头文件不会引起该头文件定义的类和对象被多次定义。
而头文件保护符用于避免在已经见到头文件的情况下重新处理该头文件的内容。
头文件保护符是指为防止头文件被同一源文件多次包含而定义的预处理器变量。
预处理器变量有两种状态:已定义或未定义。(为了避免名字冲突,预处理器变量经常用全大写字母表示。)定义预处理器变量和检测其状态所用的预处理器指示不同。#define 指示接受一个名字并定义该名字为预处理器变量。#ifndef 指示检测指定的预处理器变量是否未定义。如果预处理器变量未定义,那么跟在其后的所有指示(如处理头文件)都被处理,直到出现 #endif。
#ifndef TEST_H
#define TEST_H
// 其他处理代码,如处理头文件
#endif
4、命名空间的
使用
如:
#include <string>
#include <iostream>
using std::string;
using std::cin;
int main()
{
}
5、标准库
string的size() 成员函数似乎应该返回整形数值,或无符号整数。但事实上,size 操作返回的是sring::size_type 类型的值。如:
当进行
vector 不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector 类型的每一种都指定了其保存元素的类型。因此,vector<int> 和 vector<string> 都是数据类型。
引用类型实际上就是一个变量的别名,指向同一个内存地址
东子文
待续