const 与#define 的比较

const 与#define 的比较

C++ 语言可以用 const 来定义常量,也可以用 #define 来定义常量。但是前者比后 者有更多的优点:

(1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安 全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会 产生意料不到的错误(边际效应)。

(2) 有些集成化的调试工具可以对 const常量进行调试,但是不能对宏常量进行调试。

 1 #include <iostream>
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 using namespace std;
 5 int main(int argc, char** argv) {
 6     
 7     int a,b;
 8     //输入数据
 9     cout<<"a=";
10     cin>>a;
11     cout<<"b=";
12     cin>>b;
13 
14     //除法判断
15     if (b!=0 && a%b==0) {
16         cout<<b<<" divides "<<a<<endl;
17         cout<<"a/b="<<a/b<<endl;
18     }
19     else
20         cout<<b<<" does not divide "<<a<<endl;
21     return 0;
22 }
原文地址:https://www.cnblogs.com/borter/p/9406290.html