cpu性能评分及排行,共计864款
———————– Page 1———————– CPU类型 CPU分 数 排名 Intel Xeon W5590 @ 3.33GHz [...]
———————– Page 1———————– CPU类型 CPU分 数 排名 Intel Xeon W5590 @ 3.33GHz [...]
虽然他们在使用中感觉“差不多”,但是他们在实现上有什么区别? 请看下面的代码: #define T 13 /*用#define定义的一个常量T*/ int main() { const int t=13;/*用const定义的一个常量*/ int n=t;/*把t赋值给n*/ int m=T;/*把T赋值给m*/ } 1.差别: const与#define最大的差别在于:前者在堆栈分配了空间,而后者只是把具体数值直接传递到目标变量罢了。或者说,const的常量是一个Run-Time的概念,他在程序中确确实实的存在可以被调用、传递。而#define常量则是一个Compile-Time概念,它的生命周期止于编译期:在实际程序中他只是一个常数、一个命令中的参数,没有实际的存在。 const常量存在于程序的数据段. #define常量存在于程序的代码段。 2优缺点: 至于两者的优缺点,要看具体的情况了。一般的常数应用,我个人认为#define是一个更好的选择: i.从run-time的角度来看,他在空间上和时间上都有很好优势。 ii.从compile-time的角度来看,类似m=t*10的代码不会被编译器优化,t*10的操作需要在run-time执行。而#define的常量会被合并。 但是:如果你需要粗鲁的修改常数的值,那就的使用const了,因为后者在程序中没有实际的存在. 另外在头文件中使用 #define 可以避免头文件重复包含的问题,这个功能,是const无法取代的。 原文转自:http://blogger.org.cn/blog/more.asp?name=zhu_ruixian&id=23461
google搜索转入香港以后,发布了相关的声明,今天才看到。发现youtube竟然也被屏蔽了。不知道是否有一天google搜索也会被屏蔽!那对google在中国的业务来说,绝对会是一种灾难!