模板 重载数组[] 与断言assert

#include <iostream>
#include<assert.h> //断言
using namespace std;

//模板 重载数组[] 与断言assert

template<class T,int len>
class Array
{
private:
    T elem[len];
public:
    Array() {};

    //重载数组
    T& operator[](int sub)  //sub为下标
    {
        //断言 assert(布尔表达式); 真继续,假直接终止程序
        assert(sub >= 0 && sub < len);
        return elem[sub];
    }
};


int main()
{
    Array<int, 5> arr;

    arr[0] = 1;

    cout << arr[0]; 

    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42817985/article/details/117563344