摘要:反向迭代器reverse_iterator是一种反向遍历容器的迭代器,也就是从最后一个元素到第一个元素遍历容器。反向迭代器的自增(或自减)的含义反过来了:对于反向迭代器,++运算符将访问前一个元素,–运算符将访问下一个元素。 在某些场景下,reverse_iterator能很好地适应应用需求。但容器的有些成员方法只支持iterator,如果你想在反向迭代器所指的位置插入一个新元素,或者是删除反向迭代器所指的元素是不行的,因为insert方法、erase方法都不支持reverse_iterator。要完了这些操作,必须将reverse_iterator转换成iterator,再用iterator完成这些操作。 下面说明了反向迭代器与迭代器的关系,并列举了一些常用的操作。
阅读全文
摘要:反向迭代器reverse_iterator是一种反向遍历容器的迭代器,也就是从最后一个元素到第一个元素遍历容器。反向迭代器的自增(或自减)的含义反过来了:对于反向迭代器,++运算符将访问前一个元素,–运算符将访问下一个元素。在某些场景下,reverse_iterator能很好地适应应用需求。但容器的有些成员方法只支持iterator,如果你想在反向迭代器所指的位置插入一个新元素,或者是删除反向迭代...
阅读全文
摘要:在VS中编辑或看C/C++代码时,如果一个方法非常长的话,看起来会十分不便并且难得读懂代码。 如果能按代码块把代码折叠显示(点一下展开,点一下收起),就会方便多。C\C++编辑器默认只对#param、comment、namespace、class、method等进行折叠(大纲)显示,但对code block (如 if、 for、 while等下的语句块)是没有折叠显示的。可以按如下操作修改,设置语句块折叠显示:1.执行”工具” ->”选项” ->”文本编辑器” ->”C/C++” ->”格式设置, 勾选”语句块的自动大纲显示” ;2.重启VS。作如上修改后,以{}为标
阅读全文
摘要:在VS中编辑或看C/C++代码时,如果一个方法非常长的话,看起来会十分不便并且难得读懂代码。 如果能按代码块把代码折叠显示(点一下展开,点一下收起),就会方便多。CC++编辑器默认只对#param、comment、namespace、class、method等进行折叠(大纲)显示,但对code block (如 if、 for、 while等下的语句块)是没有折叠显示的。可以按如下操作修改,设...
阅读全文
摘要:C/C++的++和--操作符既有前缀形式也有后缀形式,而两种形式的语义又是略有区别的。
习惯上我们总是用先+1还是后+1来区分它们,习惯上我们总是用它们的后缀形式。
通过以下面的分析与测试,我们会发现:在写代码时,优先使用++和—的前缀形式是一个很好的习惯。
阅读全文
摘要:C/C++的++和--操作符既有前缀形式也有后缀形式,而两种形式的语义又是略有区别的。习惯上我们总是用先+1还是后+1来区分它们,习惯上我们总是用它们的后缀形式。通过以下面的分析与测试,我们会发现:在写代码时,优先使用++和—的前缀形式是一个很好的习惯。前缀形式和后缀形式的区别前缀形式的++和--操作符与后缀形式的本质区别是:后缀形式返回的是自增或自减后的原值;而前缀形式对原值进行自增或自减操作,...
阅读全文
摘要:这篇文章是我的一个外国的同事Gareth推荐给我的,我和他一起工作过一段时间。他之所以觉得非常不错,是因为这篇文章让他身有体会,他觉得我也一定会有体会,并让我考虑一下翻译到我的blog上来。我看完后觉得很有代表性,而且觉得说得太对了,所以翻译过来,希望大家都读一读,最好转给你的公司老板。这篇文章来源于 StakeExchange上的一个问题——"为什么BA和PM的薪水要比程序员要高?",顶在一楼的...
阅读全文
摘要:Makefile.am是一种比Makefile更高层次的规则。只需指定要生成什么目标,它由什么源文件生成,要安装到什么目录等构成。表一列出了可执行文件、静态库、头文件和数据文件,四种书写Makefile.am文件个一般格式。表 1Makefile.am一般格式对于可执行文件和静态库类型,如果只想编译,不想安装到系统中,可以用noinst_PROGRAMS代替bin_PROGRAMS,noinst_...
阅读全文
摘要:源文章来自前C++标准委员会的 Danny Kalev 的 The Biggest Changes in C++11 (and Why You Should Care),赖勇浩做了一个中文翻译在这里。所以,我就不翻译了,我在这里仅对文中提到的这些变化“追问为什么要引入这些变化”的一个探讨,只有知道为了什么,用在什么地方,我们才能真正学到这个知识。而以此你可以更深入地了解这些变化。所以,本文不是翻译。因为写得有些仓促,所以难免有问题,还请大家指正。
阅读全文