C++ の "this" ポインターでポインター演算を実行するための正当な、および/または興味深い使用法は何ですか?
SEがこの質問の長さに満足するようにするために、関連するコードをいくつか含めます。
class Foo
{
public:
Foo(bool terminate = false)
: _data(terminate ? -1 : 0)
{}
void Bar(void)
{
if (_data >= 0)
{
_data++;
this[1].Bar();
}
}
private:
int _data;
};
void main()
{
std::vector<Foo> vec;
vec.push_back(Foo());
vec.push_back(Foo());
vec.push_back(Foo());
vec.push_back(Foo());
vec.push_back(Foo(true));
vec[2].Bar();
}