define 定义标识符,将其替换为文本,而 #ifndef 检查标识符是否未定义。共同作用是确保标识符仅定义一次:1. #ifndef 检查标识符是否未定义;2. 如果未定义,则 #define 定义标识符。

ifndef 和 define 在 C++ 中的作用
define 是一个预处理器宏,用于定义一个标识符,使其值替换为随后的文本。#ifndef 也是一个预处理器宏,用于检查标识符是否未定义。
define
#define 语法:
#define 标识符 值
例如:
#define PI 3.14159265
此宏将 PI 替换为常量 3.14159265。
立即学习“C++免费学习笔记(深入)”;
ifndef
#ifndef 语法:
#ifndef 标识符
// 代码块
#endif如果标识符未定义,#ifndef 将求值为真,执行代码块。如果标识符已定义,#ifndef 将求值为假,跳过代码块。
例如:
#ifndef PI
// 定义 PI 为 3.14159265
#define PI 3.14159265
#endif此代码将检查 PI 是否未定义。如果是,则定义 PI 为常量 3.14159265。如果 PI 已定义,则跳过代码块。
共同作用
#ifndef 和 #define 通常一起使用,以确保一个标识符只定义一次。
#ifndef PI
#define PI 3.14159265
#endif此代码在第一次编译时定义 PI,但在后续编译中跳过定义。这有助于防止多重定义错误。











