c_cpp C ++中的通用容器可迭代数组类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp C ++中的通用容器可迭代数组类相关的知识,希望对你有一定的参考价值。

#include <iostream>

//cpp example class that holds a pnter to an array

template<class T>
class PntArray
{
private:
  T* _array;
  int _size;
public:
  PntArray(int size) : _array(new T[size]), _size(size)
  {}
  ~PntArray()
  {
    delete[] _array;
  }
  //overloads getitem operator for get and set
  T& operator[] (const int index)
  {
    if(index < _size)
    {
      return _array[index];
    }
    else
    {
      throw "Error index too large";
    }
  }
  
  T* getFront()
  {
    return _array;
  }
  
  T* getBack()
  {
    return _array + _size;
  }
};

int main() {
  PntArray<char> arr(7);
  arr[0] = '3';
  arr[1] = 'g';
  std::cout << arr[0] << ", " << arr[1] << "\n";
  //3, g
}

以上是关于c_cpp C ++中的通用容器可迭代数组类的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp C ++中一个类中的多个大小的数组

基于 C++17 中的范围,用于自定义容器或具有不同开始/结束类型的通用类

C ++从具有嵌套类的接口派生

在php类方法中使最后一个数组参数可选(C)

C++ STL 基础及应用 迭代器

C++在类中定义vector并初始大小的问题