C++相談室 part81
■ このスレッドは過去ログ倉庫に格納されています
0880デフォルトの名無しさん
2010/05/30(日) 18:22:55#include <cstdlib>
#include <cassert>
#define SIZE 200
struct Hoge
{
void operator [] (unsigned idx) { assert(idx < SIZE); std::puts("...do something..."); }
void operator [] (signed idx) { assert(0 <= idx); (*this)[static_cast<unsigned>(idx)]; }
};
int main(void)
{
Hoge hoge;
hoge[100];
// hoge[-1];
// hoge[200];
system("pause");
return 0;
}
ていうかこれでいいじゃん
既存のコードをいちいちラップするのメンドクセーけどさ
■ このスレッドは過去ログ倉庫に格納されています