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

xiaoxiao2021-02-28  94

一般常见的有:

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;

转载请注明原文地址: https://www.6miu.com/read-74820.html

最新回复(0)