C++相談室 part58
■ このスレッドは過去ログ倉庫に格納されています
0269デフォルトの名無しさん
2007/10/15(月) 01:09:41callbackのoperator()をconstにしていい理由がよくわかりません。
A::foo()がconstではないのに、なぜoperator()はconstでいいんでしょうか?
struct A { void foo() /* const */ {} };
template <class T, void (T::*F)()> class callback {
public:
callback(T& t) : object(t) {}
void operator()() const { (object.*F)(); }
private:
T& object;
};
int main() {
A a;
callback<A, &A::foo> cb(a);
cb();
}
メンバ変数objectが、値でなく参照だから?
おしえてくださいませ。
■ このスレッドは過去ログ倉庫に格納されています