C++另一种注释
块注释符(/…/)是不可以嵌套使用的。
此外,我们还可以使用 #if 0 … #endif 来实现注释,且可以实现嵌套,格式为:
#if 0
code
#endif
你可以把 #if 0 改成 #if 1 来执行 code 的代码。
这种形式对程序调试也可以帮助,测试时使用 #if 1 来执行测试代码,发布后使用 #if 0 来屏蔽测试代码。
#if 后可以是任意的条件语句。
下面的代码如果 condition 条件为 true 执行 code1 ,否则执行 code2。
#if condition
code1
#else
code2
#endif
#include <iostream>
using namespace std;
int main(){
cout << "Hello World!" <<endl;
#if 1
cout << "Hello World!" <<endl;
#endif
}
头文件
预处理器
确保头文件安全工作的是预处理器,预处理符号是#,而且预处理语句会无视作用域规则。
//mydata.h
#pragma once
#ifndef MYDATA
#define MYDATA //头文件保护符必须唯一,否则出现错误。
class MYDATA {
public:
int m_a;
};
#endif
一旦#define被预编译器处理,那么再执行#ifndef时就会跳过,所以可以保证不会重复包含,
#progma once是另一种文件的包含形式,这种写法只会包含文件,但是不具有可移植性。但是效率会更高