原文:C++雾中风景16:std::make_index_sequence, 来试一试新的黑魔法吧

C 在标准库里添加了一个很有意思的元函数: std::integer sequence。并且通过它衍生出了一系列的帮助模板: std::make integer sequence, std::make index sequence, std:: index sequence for。在新的黑魔法的加持下,它可以帮助我们完成在编译期间获取了一组编译期整数的工作。 接下来请系好安全带,准备发车,和大 ...

2021-01-01 13:39 0 2087 推荐指数:

查看详情

C++雾中风景14:CRTP, 模板的黑魔法

CRTP,奇特的递归模板模式 (Curiously Recurring Template Pattern) 是 C++ 的一种看起来很怪异的模板编程技巧。 它通过继承和模板的联合应用,实现了一种"看似"继承自己的语法。这种编程的技法,无论是在STL还是Boost之中都被大量使用。像它的名字 ...

Fri Jul 10 20:35:00 CST 2020 0 535
C++雾中风景2:struct还是class?

之前因为都在忙着毕业的开题答辩与投稿论文的事宜,一直没有时间更新这个系列的文章。师弟看了上一篇雾中风景的文章,希望我继续把这个系列的文章写下去。坦白说,C++的特性很多,这也不是教学指南的文章,我会选取一些自己在学习C++过程之中值得探讨的问题和大家聊一聊,来抛砖引玉。好的,今天先放点 ...

Sun Nov 12 12:09:00 CST 2017 0 1090
C++雾中风景17:模板的非推断语境与std::type_identity

乍一看这个标题很玄乎,但是其实这只是涉及一个很简单的CPP的模板推导的知识点。 笔者近期进行CPP开发工作时,在编译时遇到了如下的模板类型的推断错误:note: candidate templa ...

Fri Apr 30 20:25:00 CST 2021 0 281
C++雾中风景番外篇3:GDB与Valgrind ,调试代码内存的工具

C++的同学想必有太多和内存打交道的血泪经验了,常常被 C++的内存问题搅的焦头烂额。(写 core 的经验了)有很多同学一见到 core 就两眼一抹黑,不知所措了。笔者 入"坑"C++之后,在调试 C++代码的过程之中,学习了不少调试代码内存的工具。希望借这个机会来介绍一下笔者常用 ...

Fri Nov 09 03:37:00 CST 2018 2 953
C++雾中风景9:emplace_back与可变长模板

C++11的版本在vector容器添加了emplace_back方法,相对于原先的push_back方法能够在一定程度上提升vector容器的表现性能。所以我们从STL源码角度来切入,看看这两种方法有什么样的区别,引进的方法又有什么可学习参考之处。 1.emplace_back的用法 ...

Tue May 22 03:49:00 CST 2018 0 1389
C++雾中风景10:聊聊左值,纯右值与将亡值

C++11的版本在类型系统上下了很大的功夫,添加了诸如auto,decltype,move等的关键词来简化代码的编写与降低阅读代码的难度。为了更好的理解这些的语义,笔者确定通过几篇文章来简单窥探一下C++类型系统的冰山一角,如果加深了对C++类型系统的理解,想必大家也能够更好的应用 ...

Fri Jul 20 03:07:00 CST 2018 1 1333
C++雾中风景15:聊聊让人抓狂的Name Mangling

Name Mangling,直接翻译过来为名字改写 。它是深入理解 C++ 编译链接模型的必由之路。 笔者近期进行数据库开发工作时,涉及到MySQL客户端的编译链接的问题,通过重新厘清了之前理解一知半解的Name Manging,解决了让人抓狂的编译链接问题。 接下来,和大家聊聊C++ ...

Mon Sep 28 02:31:00 CST 2020 2 492
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM