以下代码来自 Thinking in C++。作者提到“由于 operator[] 是内联的,因此您可以使用这种方法来保证不会发生数组边界违规,然后删除运输代码的 require()。” 这里提到了内联函数的什么特性?谢谢!
#include "../require.h"
#include <iostream>
using namespace std;
template<class T>
class Array {
enum { size = 100 };
T A[size];
public:
T& operator[](int index) {
require(index >= 0 && index < size,
"Index out of range");
return A[index];
}
};