A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cqdouble 中级黑马   /  2014-5-15 09:15  /  3537 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在java中一些数据的出现,值是固定的,可以通过取名字再加上final关键字修饰,可以增强程序的阅读性。如:final double PI=3.14;
在C++中也可以通过宏定义来实现这样的功能。如:#define  PI   3.14;
他们有没有区别呢?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

6 个回复

倒序浏览
区别大了去了,你可以从编译时的行为来看这个问题。C++中的宏在预处理阶段会被加进程序变成程序的一部分,就是复制过去。final只是一个对象不可修改的属性或方法。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
不懂C++,只来学习
回复 使用道具 举报
stream 发表于 2014-5-15 10:06
区别大了去了,你可以从编译时的行为来看这个问题。C++中的宏在预处理阶段会被加进程序变成程序的一部分, ...

解释的很清楚
回复 使用道具 举报
暂时还没有学到宏
回复 使用道具 举报
不懂  来学习一下  
回复 使用道具 举报
Juice.cy.wang 来自手机 中级黑马 2015-11-29 00:04:24
7#
暂时没有去捡啊。看来要加油了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马