阅读量:1
引入:
大家有没有发现每次创建和使用数组时很麻烦,因为数组长度一般只能用静态常量,太过局限,不满足大部分开发者的需求。而且遍历数组也很麻烦,又要for循环,又要在其他使用数组的地方检查边界。
于是我就构想了一种“智能数组” 就解决了大部分的难题
这样的语言风格是否让你感觉舒适呢
接下来
看看他是如何定义的
定义源码:
#include<iostream> using std::endl; using std::cout; class arrayx { private: int size; int* arr; public: arrayx(int size_) : size(size_) { arr = new int[size_]; // 初始化数组 for (int i = 0; i < size_; i++) { arr[i] = 0; } } arrayx(std::initializer_list<int> list) : size(list.size()) { arr = new int[size]; std::copy(list.begin(), list.end(), arr); } ~arrayx() { delete[] arr; // 在析构函数中释放内存 } //借鉴了js中的 .length返回长度 int length() { return size; } void printArr() { for (int i