C++拾趣
文章平均质量分 92
本系列将介绍一些有趣的C++语法糖
breaksoftware
这个作者很懒,什么都没留下…
展开
-
C++拾取——使用stl标准库实现排序算法及评测
今天看了一篇文章,讲各种语言的优势和劣势。其中一个观点:haskell非常适合写算法,因为使用者不用去关心具体的计算机实现,而只要关注于操作语义。这让它在专心研究算法的人中非常受欢迎。所以很多时候,语言的争论没有太多的意义,有意义的是它适不适合某些场景或者某些人。(转载请指明出于breaksoftware的csdn博客) 目前在网上讨论排序算法更多是C语言实现的。...原创 2018-10-18 22:00:17 · 2338 阅读 · 2 评论 -
C++拾取——使用stl标准库生成等差、等比数列的方法
代码是思想的表达。阅读代码是一个猜测、求证的过程。这个过程非常费脑,所以人们都不喜欢啰啰嗦嗦的表达方式。于是在相同认知水平下,简洁高效的表达是喜闻乐见的。本文将抛砖引玉,通过一些案例讲解如何去简化代码。(转载请指明出于breaksoftware的csdn博客)关系数列等差数列 比如我们要构建的序列存储的值是0,1,2,3,4……9999。常规写法...原创 2018-10-12 13:17:48 · 7179 阅读 · 1 评论 -
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows Visual Studio)——遍历和删除
相关环境和说明在《C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows Visual Studio)——插入》已给出。本文将分析各个容器中遍历和查找的性能。(转载请指明出于breaksoftware的csdn博客)遍历从前往后traversal_begin_16384_highest 性能最差的是map、multimap、set和...原创 2018-10-06 01:17:46 · 1446 阅读 · 1 评论 -
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows Visual Studio)——删除
相关环境和说明在已给出。本文将分析从头部、中间和尾部对各个容器进行删除的性能。原创 2018-10-06 00:41:25 · 2506 阅读 · 1 评论 -
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows Visual Studio)——插入
操作系统是Windows10 64bit,编译器是 Microsoft Visual Studio Community 10。编译产出是64位测试程序。(转载请指明出于breaksoftware的csdn博客) 因为加入测量,就会导致误差。我已经尽量将环境影响降低,但是还是难免有误差。大家可以通过文后附的工程自行测量,结果可能和我存在一定的出入。 ...原创 2018-10-05 23:59:58 · 1669 阅读 · 2 评论 -
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——遍历和查找
相关环境和说明在《C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——插入》已给出。本文将分析各个容器中遍历和查找的性能。(转载请指明出于breaksoftware的csdn博客)遍历从前往后元素个数>15000traversal_begin_16384_highest 表现最差的是unordered_m...原创 2018-10-05 21:21:25 · 1888 阅读 · 1 评论 -
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——删除
相关环境和说明在《C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——插入》已给出。本文将分析从头部、中间和尾部对各个容器进行删除的性能。(转载请指明出于breaksoftware的csdn博客)删除头部删除元素个数>15000erase_begin_16384_highest vector容器性能最差。...原创 2018-10-05 17:06:08 · 1297 阅读 · 1 评论 -
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——插入
操作系统是ubuntu 18.04.1 server amd64,gcc是7.3.0。编译产出是64位测试程序。(转载请指明出于breaksoftware的csdn博客) 因为加入测量,就会导致误差。我已经尽量将环境影响降低,但是还是难免有误差。大家可以通过文后附的工程自行测量,结果可能和我存在一定的出入。 文中将测试vector、list、f...原创 2018-10-05 17:05:57 · 1282 阅读 · 1 评论 -
C++拾趣——使用多态减少泛型带来的代码膨胀
泛型编程是C++语言中一种非常重要的技术,它可以让我们大大减少相似代码编写量。有时候,我和同事提及该技术时,称它是“一种让编译器帮我们写代码的技术”。(转载请指明出于breaksoftware的csdn博客) C++是一门静态语言,它最终的编译成果是可以直接运行于冯诺依曼体系的计算机上,而不像其他动态语言,可以运行于虚拟机等容器中。由于对运行效率得追求,C++也是...原创 2018-09-01 15:05:38 · 1148 阅读 · 1 评论 -
C++拾趣——C++11的语法糖auto
C++是一种强类型的语言,比如变量a,如果声明它是整型,则之后只能将它作为整型来用。这和其他弱类型的语言有很大的区别,比如python中,我们可以让a在第一行是个整型,第三行是一个字符串。(转载请指明出于breaksoftware的csdn博客)a = 3print aa = "3"print a C++代码在声明一个变量时就已经明确指定了它的类型。这...原创 2018-01-22 19:01:13 · 1697 阅读 · 0 评论 -
C++拾趣——有趣的操作符重载
“有趣”并不是胡闹,所以本文探讨的将是“符合常识”的重载。而那些“天马行空”的重载,比如重载==为“不等于”则不是本文的议题。原创 2018-06-13 17:28:09 · 586 阅读 · 0 评论 -
C++拾趣——类构造函数的隐式转换
之前看过一些批判C++的文章,大致意思是它包含了太多的“奇技淫巧”,并不是一门好的语言。我对这个“奇技淫巧”的描述颇感兴趣,因为按照批判者的说法,C++的一些特性恰巧可以让一些炫耀技术的同学有了炫耀的资本——毕竟路人皆知的东西却没什么好炫耀的。这又让我想起了《孔乙己》中关于“回”字有几种写法的描述。当时老师在上此课时,是抱着批判的态度去评价孔乙己的这种思想,而我却感觉到这其中必有一...原创 2017-02-08 12:33:46 · 5890 阅读 · 8 评论 -
C++的四种强制转换
C++的四种强制转换 C++中的四种转换,是一个老生常谈的话题。但是对于初学者来说,该如何选择哪种转换方式仍然会有点困惑。而且我总是觉得“纸上得来终觉浅”,于是便“绝知此事要躬行”。于是利用闲暇时光,整理一下reinterpret_cast、const_cast、static_cast和dynamic_cast这四种强制转换的相关知识。(转载请指明出于breaksoftware的...原创 2014-12-16 12:39:45 · 29200 阅读 · 2 评论