c++面试题(2)

1、请说说const与#define有何区别?

基于这个问题,我们先分别解释一下const和define。

首先是const。

const 就是告诉编译器某个值不变,可能不严谨,姑且这么理解。

看看const用法有哪些:

a、const修饰成员变量。

    

   一旦使用const修饰,就是一个常量,值无法进行更改。

b、修饰函数参数。

传递过来的参数在函数内不可以改变,与上面修饰变量时的性质一样。

  

同样和a情况一样。

还有很多用法,在这里不一一列出,需要的具体再去查查。

再来说说#define。

      #define是宏定义,宏定义有两种:

    a、#define  宏名   字符串

         例如:#define  pi  3.14159

    b、#define <宏名> (<参数表>)  <宏体>
        例: #define A(x) x

          在这里需要注意的是参数表需要接上();

再来回答一下:const与#define的区别。

从起作用的阶段而言:#define是在预处理阶段起作用,而const是在编译和运行的时候起作用。

从方式而言,#define只是进行替换作用,没有类型检测。而const是需要进行类型检查的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值