一般常见的有:
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;