跳转至内容
  • 从小白的视角探究 vector 第2章

    现代C++ | mcpp论坛
    3
    0 赞同
    3 帖子
    1k 浏览
    dustchensD

    @dustchens 在 从小白的视角探究 vector 第2章 中说:

    Vector& operator=(const Vector &other) {
    // 注意
    if(this != &other) {
    this->~Vector();
    mSize_e = other.mSize_e;
    mCapacity = other.mCapacity;
    mDataPtr_e = static_cast<T *>(Alloc::allocate(sizeof(T) * mCapacity));
    for (int i = 0; i < mSize_e; i++) {
    mDataPtr_e[i] = other.mDataPtr_e[i];
    }
    }
    return *this;
    }

    这一章节,需要大家思考这段内容,是否正确,为什么没有加上noexcept,noexcept为什么如此重要,需要后续单开一个章节去讲解

  • 0 赞同
    3 帖子
    1k 浏览
    dustchensD

    @wlly-lzh 智能指针是简化了步骤,不需要你为所有的资源都写一个类包裹,提供了一个通用的托管容器,且还和指针兼容。并且顺手还解决了套壳的问题,RAII对象如果本身也申请在动态空间,套智能指针就不用再写一个套壳类再生成对象托管了。用到对象生命周期去托管的都是RAII,比如各种作用域锁,线程锁这些,都可以用这个思想自动托管