- 注意:
- 宏名不能以数字开头
- 宏在编译器编译时展开,而不是而不是预处理阶段
- 功能
- 何时该使用符号常量?
#include <iostream>
#include <string>
#include <map>
#include <vector>
#include <list>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::map;
using std::vector;
using std::list;
#define PORT 8000
#define SQUARE(S) S*S
#define IP "127.0.0.1"
int main(int argc, char const *argv[])
{
string ip = IP;
int port = PORT;
int square = 10;
cout<<"port="<<port<<endl;
cout<<"ip="<<ip<<endl;
cout<<"square="<<SQUARE(square)<<endl;
return 0;
}
运行结果:iuc@iuc-linux ~/Project/Templet/C++ $ g++ define.cpp -o define
iuc@iuc-linux ~/Project/Templet/C++ $ ./define
port=8000
ip=127.0.0.1
square=100
iuc@iuc-linux ~/Project/Templet/C++ $