1.
In C programming, the normal use of #define is to declare an constant vairiable. But it's been replaced by const.
C: #define X 100 ----> C++: const int x=100;
2.
#define can also define Macro with parameters. But its functionality can also be replaced by inline function with C++
C: #define MAX(a,b) ((a)>(b)?(a):(b))
C++: inline int max(int a,int b){ return a>b?a:b;}
3.
#define is most used in conditional compling. the conditional compling instruction includes:#if,#else,#endif,#ifdef,#ifndef,#undef.
it always be used to avoid the head file being referenced more than once.
eg.
#ifndef NULL
#define NULL ((void*)0)
#endif
#ifndef _myheadfile_h
#define _myheadfile_h
#endif
4.const
const有很多作用,主要可以有以下幾種:
1. const int x=10; //定義一個常量 ,該常量分配在靜態儲存區
2 const int *p;//p是一個常量pointer,只能指向常量,因此不能進行左操作
3 int f(const int x) //表示f函數中不能修改x的值
4 int f(int x) const //這種主要用在類的成員函數的修飾上,表示該函數不會修改類的成員變數。