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

本文详细介绍了C++中四种类型的智能指针(std::shared_ptr&lt;void&gt;、std::weak_ptr&lt;void&gt;、std::unique_ptr&lt;void&gt;)及函数指针std::function&lt;void()&gt;的使用方法。智能指针能够自动管理不同数据结构的内存,而函数指针则用于指向返回void的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般常见的有:

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;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值