[2018年6月6号]C++ primer 课后练习 第十六章 模版与泛型编程

本文介绍了C++中容器元素的原地构造方法及智能指针的使用技巧。详细解析了emplace_back函数如何在容器末尾添加元素,并通过构造函数初始化;同时展示了my_make_shared函数如何创建带有初始值的智能指针。

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

16.58
    template <typename...Args>
    void emplace_back(Args...args){
        chk_n_alloc();
        alloc.construct(first_free++,std::forward(args)..);
    }

vec:

    template <typename...Args>
    void emplace_back(Args...args){
        alloc.construct(first_free++,std::forward(args)...);
    }

16.59

在内存中分配一块指定类型的内存,赋予其初始值,并放入智能指针中返回

16.60

template<typename T1, typename...Args>
shared_ptr<T1> my_make_shared(Args...args){
    return shared_ptr<T1>(new T1(std::forward(args)...));
}

16.61


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值