上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下对象函数
1、View C++ as a federation of languages
2、Prefer consts, enums, and inlines to #defines
边,示表被指物是常量:如果涌现在星号边右,示表针指自身是常量:如果涌现在
星号双方,示表被指物和针指两者都是常量。
char greeting[] = "Hello";
感叹人生,是因为曾经没有过轰轰烈烈的壮举,觉得渺小,觉得平庸,似乎生活过于简单,简单得让人感觉烦躁。没有大言不惭地说过将来,只是比较现实地握住了现在,我想,这是一条路,每个人所必须踏上的一次旅程,曾经看到过这样一句话:成长的过程漫长却充实,自毁的过程短暂却留下一生痛苦,人生可以说是一次考验,何去何从取决于自我。
它写在类型以后、星号之前。两种写法的义意同相,所以以下两个函数接受的参数
类型是一样的:
void f1(const Widget* pw);
void f2(Widget const * pw);
两种情势都有人用,你应当试着习气它们。
明选代器为 const 就像声明针指为 const 一样(即声明一个T* const 针指) ,表
示这个迭代器不得向指不同的西东,但它所指的西东的值是可以修改的。如果你希
望迭代器所指的西东不可被修改(即希望STL 模拟一个 const T* 针指) ,你须要
的是 const _iterator:
std::vector<int> vec;
const std::vector<int>::iterator iter = vec.begin( ); //iter的用作就像个T* const
* iter = 10; //没有问题,转变iter所指物
++iter; //错误,iter是const
std: :vector<int>::const iterator clter = vec.begin( ); //cIter的用作像是个const T *
第二,编译器强制实行 bitwise constness ,但你编写序程时应当应用"概念上的常量性"
(conceptual constness)。
第三,当 const 和 non-const 员成函数有着质实等价的现实时,令 non-const 版本调
第二,结构函数最好应用员成初值列 (member initialization list) ,而不要在结构函数本体内应用赋值作操(assignment) 。初值列列出的员成变量,其排列顺序应当和它们在 class 中的声明顺序同相。
文章结束给大家分享下程序员的一些笑话语录:
一个程序员对自己的未来很迷茫,于是去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问Lippman,他现在领导的程序员的队伍可能是地球上最大的"
于是他去问Lippman。
Lippman说"程序员的未来就是驾驭程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问Gates,他现在所拥有的财产可能是地球上最多的"
于是他去问Gates。
Gates说"程序员的未来就是榨取程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问侯捷,他写的计算机书的读者可能是地球上最多的"
于是他去问侯捷。
侯捷说"程序员的未来就是诱惑程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝摇摇头"唉,我的孩子,你还是别当程序员了")