Simon 's Blog
» 做笔记做笔记
Toggle navigation
Simon 's Blog
HOME
总裁介绍
coper
zongcai
what
ARCH
TAGS
navigation
标签 - c++11_14
以 boost::function 和 boost::bind 取代虚函数
? c++11_14 ?
2019-07-30 13:24:14
42
0
0
 摘自[Linux 多线程服务端编程:使用 muduo C++ 网络库 (excerpt) http://www.chenshuo.com/book/](http://www.chenshuo.com/book/)
C++11/14 Boost探秘--类型特征萃取
? c++11_14 ?
? 类型萃取机 ?
2019-07-26 18:11:21
1313
0
0
[TOC] type_traits已经成为了c++11/14标准的一部分,头文件为 ,该库实现了c++无法完成的特征萃取机功能,是泛型和模板编程基础设施。 为了方便查看结果,后面测试全部返回true。 # 概述 type_traits库提供一组特征类,可以在编译器确定类型或者说是元数据是否拥有某特征,是否支持原生数组,是否是证书,是否重载某运算符,检查是否同一类型,还有添加或移除const
C++11/14 Boost探秘--新特性
? c++11_14 ?
2019-07-25 19:44:42
947
0
0
[TOC] # decltype ``` int x = 0; decltype(x) y = x; decltype(0) i = 0; std::vecter v; decltype(v)::iterator iter; ``` # std::ref和std::cref使用 # 移动语义和拷贝构造 ``` template void print(T &t) { std::c
移动语义和完美转发
? c++11_14 ?
2019-06-24 10:18:32
350
0
0
[TOC] # 引用 - 左值引用, 使用 `T&`, 只能绑定左值 - 右值引用, 使用 `T&&`, 只能绑定右值 - 常量左值, 使用 `const T&`, 既可以绑定左值又可以绑定右值 - 已命名的右值引用,编译器会认为是个左值 - 编译器有返回值优化,但不要过于依赖 一篇写的很好的文章[从4行代码看右值引用](https://www.cnblogs.com/qicosmos/p
设计的接口
? c++11_14 ?
2019-05-15 16:44:41
357
0
0
# std::tr1::bind()和std::tr1::function()设计的接口 ```C++ class Penguin //企鹅能游泳能跑 { public: void run(); void swin(); }; class Sparrow //乌鸦能飞能跑,实际上乌鸦只能跳 { public: void run(); void fly(); }; typedef st
std::tr1::bind()和std::tr1::function()的例子
? c++11_14 ?
2019-05-15 00:15:46
408
0
0
[TOC] # 线程库的常规设计 库提供一个`Thread`的基类,里面有(纯)虚函数`Thread::run()`,我们需要从`Thread`派生一个基类,然后覆写`run()·函数,然后`start()`运行线程。 # 基于std::tr1::bind()和`std::tr1::function()`的设计 ``` class Thread { public: typedef std::tr