#define MyAge 24
这个就是宏定义,以后编译器在看到MyAge 的时候就替换成24,不管这样做会不会产生问题,通常这也是bug的所在:)
应该使用const和inline函数来代替宏定义,比如这样
const MyAge = 24;
这个就是宏定义,以后编译器在看到MyAge 的时候就替换成24,不管这样做会不会产生问题,通常这也是bug的所在:)
应该使用const和inline函数来代替宏定义,比如这样
const MyAge = 24;
以后不论碰到什么编译器都把[宏名]所在的位置替换为定义的常量。#define Pi 3.1415926
...
float s=Pi*r*r; ==> float s=3.1415926;
但是
#define a*b 12
...
int t=a*b; ==> int t=12;
很容易混淆是不是?