[转载]了解模板元编程
Item 48: Be aware of template metaprogramming.
模板元编程(Template Metaprogramming,TMP)就是利用模板来编写那些在编译时运行的C++程序。 模板元程序(Template Metaprogram)是由C++写成的,运行在 ...
[转载]C++模板的偏特化与全特化
模板机制为C++提供了泛型编程的方式,在减少代码冗余的同时仍然可以提供类型安全。 特化必须在同一命名空间下进行,可以特化类模板也可以特化函数模板,但类模板可以偏特化和全特化,而函数模板只能全特化。 模板实例化时会优先匹配”模板参数”最相符的那个特化版本。
C++的模板机制被证明是图灵完备的,即 ...
[转载]STL源码剖析之算法:copy & copy_backward
copy() 是一个调用频率非常高的函数,所以SGI STL的copy算法用尽各种办法,包括函数重载(function overloading)、型别特性(type traits)、偏特化(partial specialization) 编程技巧,无所不用其极地加强效率。下图是整个copy ...
[转载]C++ trivial和non-trivial构造函数及POD类型
最近正纠结这个问题就转过来了,做了点补充(参考《深度探索C++对象模型》)
trivial意思是无意义,这个trivial和non-trivial是对类的四种函数来说的:
默认构造函数(default constructor)
拷贝构造函数(copy constructor)
赋值函数(co ...
[转载]谈乱序执行和内存屏障
10多年前的程序员对处理器乱序执行和内存屏障应该是很熟悉的,但随着计算机技术突飞猛进的发展,我们离底层原理越来越远,这并不是一件坏事,但在有些情况下了解一些底层原理有助于我们更好的工作,比如现代高级语言多提供了多线程并发技术,如果不深入下来,那么有些由多线程造成问题就很难排查和理解.
今天准备来 ...
[转载]X86平台乱序执行简要分析(翻译为主)
多处理器使用松散的内存模型可能会非常混乱,写操作可能会无序,读操作可能会返回不是我们想要的值,为了解决这些问题,我们需要使用内存栅栏(memory fences),或者说内存屏障(memory barrier)。
X86平台可能还算是使用松散内存模型的多处理器中还算比较好的了,它针对内存 ...
[转载]奇异递归模板模式(Curiously Recurring Template Pattern)
本篇短文将简短的介绍奇异递归模板模式(Curiously Recurring Template Pattern,CRTP),CRTP是C++模板编程时的一种惯用法(idiom):把派生类作为基类的模板参数。更一般地被称作F-bound polymorphism。
1980年代作为F-bound ...
[wiki]Substitution failure is not an error
From Wikipedia, the free encyclopedia
Substitution failure is not an error (SFINAE) refers to a situation in C++ where an invalid substitution of te ...
MyVector
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 ...
[转载]set_new_handler()总结
在看STL源码时,发现内存分配时会先调用set_new_handler(0);不知其意,故在网上搜寻了相关资料,总结如下:
函数原型: new_handler set_new_handler (new_handler new_p) throw(); new_handler类型函数将在 ...
![[转载]了解模板元编程](https://images0.cnblogs.com/blog/528205/201501/131303575117915.png)
![[转载]STL源码剖析之算法:copy & copy_backward](https://s4.51cto.com/attachment/201303/135652149.png)
![[转载]C++ trivial和non-trivial构造函数及POD类型](https://images2015.cnblogs.com/blog/623573/201610/623573-20161024233936593-703493344.png)
![[转载]奇异递归模板模式(Curiously Recurring Template Pattern)](https://pic3.zhimg.com/v2-82aad1fa49d40b756953c6b92844809c_1440w.jpg?source=172ae18b)
![[wiki]Substitution failure is not an error](https://miro.medium.com/max/2730/1*tgkr8r27dVIQtsEygITANA.png)

![[转载]set_new_handler()总结](https://slidesplayer.com/slide/15483914/93/images/61/%E5%8A%A8%E6%80%81%E5%86%85%E5%AD%98%E5%88%86%E9%85%8D%E7%9A%84%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86+%E6%B2%A1%E6%9C%89%E6%8A%9B%E5%87%BA%E5%BC%82%E5%B8%B8%EF%BC%9A%E4%B8%8D%E9%9C%80%E8%A6%81throw-try-catch%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86%E6%9C%BA%E5%88%B6+double+%2Aptr%5B50%5D%3B.jpg)
![[转载]PHP宽字节注入 [转载]PHP宽字节注入](https://upload-images.jianshu.io/upload_images/9113981-f59156b3b123c9d2.png?imageMogr2/auto-orient/strip|imageView2/2/w/716/format/webp)

![[转载]前缀树trie预测与热度扩散预测模型 [转载]前缀树trie预测与热度扩散预测模型](http://chengfeng96.com/blog/2016/11/26/Scala%E5%AE%9E%E7%8E%B0%E5%89%8D%E7%BC%80%E6%A0%91/%E5%89%8D%E7%BC%80%E6%A0%91.jpg)
![[转载] DIRECT I/O [转载] DIRECT I/O](https://img-blog.csdnimg.cn/20200430035748976.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p5eG11c3Q=,size_16,color_FFFFFF,t_70)
![[转载]浅谈Buffer I/O 和 Direct I/O [转载]浅谈Buffer I/O 和 Direct I/O](https://img-blog.csdnimg.cn/20190320001938378.png)