- c++只允许对类模板偏特化,不允许对函数模板偏特化。
- std是一个特殊的命名空间,它允许全特化任何templete,但是不允许添加任何templete。
- tips
- 关于pimpl类:提供一个member swap,并提供一个non-member swap来调用前者,最后特化std::swap()
- 关于pimpl模板类:创建一个包括类定义的namespace,并在此命名空间之中构建non-member swap。
- 关于调用,针对std::swap使用using声明式,然后调用swap并且不带任何“命名空间修饰符”。
条款25:考虑写出一个不抛异常的swap函数
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 《Effective C++ 中文版 第三版》读书笔记 ** 条款 25:考虑写出一个不抛异常的 swap 函数 ...
- 接着上节 condition_varible ,本节主要介绍future的内容,练习代码地址。本文参考http:/...
- Effective C++中第25个原则,颇为复杂,作者用了很长的篇幅来讲这个原则,我在理解这个原则上也花了不少功...