小编Ode*_*Ode的帖子

如何在c++中实现没有指针的动态数组?

有人告诉我应该避免在 C++ 中使用指针或 new,但我不知道如何操作。我用迭代器类实现了动态数组。这是代码:

自定义向量和迭代器:

#include <iostream>

template<class T> class Myvector{

    private:
        int size;
        int capacity;
        T* objects;
        void add_capacity(){
            int newCapacity = capacity * 2 +1;
            T *newArray = new T[ newCapacity ];
            for( int i = 0; i < size; ++i )         
                newArray[ i ] = std::move( objects[ i ] );
            capacity = newCapacity;
            std::swap( objects, newArray );  
            delete [ ] newArray;    
        }

    public:
        Myvector(){
            objects = new T[1];
            capacity = 1;
            size = 0;
        }

        void add(T …
Run Code Online (Sandbox Code Playgroud)

c++ pointers vector

-2
推荐指数
1
解决办法
138
查看次数

标签 统计

c++ ×1

pointers ×1

vector ×1