完整的学习C++的读书路线图(2)
a)[9];的效果一样!
3.const和volatile在类型声明中的位置 在这里我只说const,volatile是一样的「注12」! 注12:顾名思义,volatile修饰的量就是很容易变化,不稳定的量,它可能被其它线程,操作系统,硬件等等在未知的时间改变,所以它被存储在内存中,每次取用它的时候都只能在内存中去读取,它不能被编译器优化放在内部寄存器中。 类型声明中const用来修饰一个常量,我们一般这样使用:const在前面 const int;//int是const const char*;//char是const char* const;//*(指针)是const const char* const;//char和*都是const 对初学者,const char*;和 char* const;是容易混淆的。这需要时间的历练让你习惯它。 上面的声明有一个对等的写法:const在后面 int const;//int是const char const*;//char是const char* const;//*(指针)是const char const* const;//char和*都是const 第一次你可能不会习惯,但新事物如果是好的,我们为什么要拒绝它呢?:)const在后面有两个好处: A. const所修饰的类型是正好在它前面的那一个。如果这个好处还不能让你动心的话,那请看下一个! B.我们很多时候会用到typedef的类型别名定义。比如typedef char* pchar,如果用const来修饰的话,当const在前面的时候,就是const pchar,你会以为它就是const char* ,但是你错了,它的真实含义是char* const.是不是让你大吃一惊!但如果你采用const在后面的写法,意义就怎么也不会变,不信你试试! 不过,在真实项目中的命名一致性更重要。你应该在两种情况下都能适应,并能自如的转换,公司习惯,商业利润不论在什么时候都应该优先考虑!不过在开始一个新项目的时候,你可以考虑优先使用const在后面的习惯用法。 四.参数可变的函数 C语言中有一种很奇怪的参数“…”,它主要用在引数(argument)个数不定的函数中,最常见的就是printf函数。 printf(“Enjoy yourself everyday!\n”); printf(“The value is %d!\n”, value); …… 你想过它是怎么实现的吗? 1. printf为什么叫printf? 不管是看什么,我总是一个喜欢刨根问底的人,对事物的源有一种特殊的癖好,一段典故,一个成语,一句行话,我最喜欢的就是找到它的来历,和当时的意境,一个外文翻译过来的术语,最低要求我会尽力去找到它原本的外文术语。特别是一个字的命名来历,我一向是非常在意的,中国有句古话:“名不正,则言不顺。”printf中的f就是format的意思,即按格式打印「注13」。 注13:其实还有很多函数,很多变量,很多命名在各种语言中都是非常讲究的,你如果细心观察追溯,一定有很多乐趣和满足,比如哈希表为什么叫hashtable而不叫hashlist?在C++的SGI STL实现中有一个专门用于递增的函数iota(不是itoa),为什么叫这个奇怪的名字,你想过吗? 看文章我不喜欢意犹未尽,己所不欲,勿施于人,所以我把这两个答案告诉你: (1)table与list做为表讲的区别: table: -------|--------------------|------- item1 | kadkglasgaldfgl | jkdsfh -------|--------------------|------- item2 | kjdszhahlka | xcvz -------|--------------------|------- list: **** *** ******* ***** That''s the difference! 如果你还是不明白,可以去看一下hash是如何实现的! (2)The name iota is taken from the programming language APL. 而APL语言主要是做数学计算的,在数学中有很多公式会借用希腊字母, 希腊字母表中有这样一个字母,大写为Ι,小写为ι, 它的英文拼写正好是iota,这个字母在θ(theta)和κ(kappa)之间! 你可以http://www.wikipedia.org/wiki/APL_ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |