夏曹俊VisualStudio2022构建调试C++项目
上面这段代码意味着仅当之前没有使用预处理器编译指令#define
定义名称ACLASS_H_
时,才处理#ifndef
和#endif
之间的语句。
编译器首次遇到该文件时,名称ACLASS_H_
没有定义(该名称根据头文件的名字取得,并加上一些下划线,使其在其他地方不太可能被定义),在这种情况下,编译器将查看#ifndef
和#endif
之间的内容;如果在同一个文件中遇到其他包含aclass.h
的内容,编译器就知道ACLASS_H_
已经被定义了,从而跳到#endif
后面的一行上。