C++常量

在C++中定义常量的两种方式是使用#define预处理器指令和const关键字。这两种方法都可以用来创建不可变的值,但它们有一些关键的区别:

#define PI 3.14159

int main() {
    const double pi = 3.14159;
    // 使用PI和pi
}

在这个例子中,PI是一个预处理器定义的常量,而pi是一个const关键字定义的常量。两者都可以在程序中用作圆周率的值,但pi具有double类型,可以享受C++的类型安全和作用域规则的优势。

`define a 2`这个语句是否会将a自动处理成整数类型?

在C++中使用#define预处理器指令时,它并不为变量指定类型。#define仅是文本替换工具,它在编译前将所有的标识符替换为定义的值。因此,#define a 2这个语句只是在预处理阶段将所有的a替换为2,而不会给a指定任何类型。
但是,由于2是一个整数字面量,所以在使用a的上下文中,它将被视为整数类型。
这样,预处理器会将代码中所有出现的a替换为2