关于C++11中的std::XXX<void>

来源:互联网 发布:linux删除文件夹内容 编辑:程序博客网 时间:2024/06/05 10:06

一般常见的有:

std::shared<void>

std::weak_ptr<void>

std::unique_ptr<void>

std::function<void()>


第一个、第二个和第三个的意思是:

make a smart pointer which can point to many different types of data structures like structs, vectors, matrices... basically anything。

即可以代指一切通过智能指针包裹的数据类型,有点类似面向对象的多态,接口定义成基类,实际传入的参数是具体的子类,例如:

void Channel::tie(const std::shared_ptr<void>& obj){tie_ = obj;tied_ = true;}


第四个:

是代指返回值为void型的函数指针,不要与第一个与第二个混淆了。

例如:

typedef std::function<void()> EventCallback;
typedef std::function<void(Timestamp)> ReadEventCallback;


原创粉丝点击