class与struct使得变量局部化,不会被误操作误用
防卫式声明
C++中头文件防卫式声明(Header Guard)是一种防止头文件被多次包含的机制,通常用于避免由于头文件的重复包含导致的编译错误。它的实现方式是在头文件的开头和结尾加上一些特定的代码,以确保头文件只被编译一次。
(
来源:https://www.cnblogs.com/swefii/p/10505674.html 侵删)
头文件防卫式声明的基本格式如下:
1 #ifndef HEADER_GUARD_NAME 2 #define HEADER_GUARD_NAME 3 4 //头文件内容 5 6 #endif /* HEADER_GUARD_NAME */
其中,HEADER_GUARD_NAME
是头文件的标识符,一般以文件名全大写加下划线的形式命名,例如 MY_HEADER_H
。
头文件的开头会检查是否已经定义了 HEADER_GUARD_NAME
,如果没有定义,则会定义它。这样,在下次包含该头文件时,由于 HEADER_GUARD_NAME
已经被定义,就不会再次包含头文件的内容,从而避免了重复包含的问题。头文件的结尾处会用 #endif
指令关闭 #ifndef
指令开启的条件编译块。
下面是一个示例:
1 #ifndef MY_HEADER_H 2 #define MY_HEADER_H 3 4 #include <iostream> 5 6 class MyClass { 7 public: 8 void sayHello() { 9 std::cout << "Hello, World!" << std::endl; 10 } 11 }; 12 13 #endif /* MY_HEADER_H */
这个头文件声明了一个名为 MyClass
的类,然后定义了 MY_HEADER_H
作为头文件的标识符,以确保头文件只会被编译一次。
标签:头文件,NAME,MY,HEADER,GUARD,声明,防卫 From: https://www.cnblogs.com/zaiyewujiang/p/17347098.html