引入:
大家有没有发现每次创建和使用数组时很麻烦,因为数组长度一般只能用静态常量,太过局限,不满足大部分开发者的需求。而且遍历数组也很麻烦,又要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