たちはtypedef
経由constメンバ関数を宣言したいと仮定します。のconstメンバ関数とのtypedef、C++
typedef int FC() const;
typedef int F();
struct A
{
FC fc; // fine, we have 'int fc() const'
const F fc; // not fine, 'const' is ignored, so we have 'int fc()'
};
const
ので、プログラムが正常にコンパイル無視されます。機能のためになぜconst
が無視されるのですか?このようにしてconstポインタを形成できるので、私が考えることができるのは「Cの遺産」だけです。スタンダードはそれについて何か言いますか?
'int()const'はほとんど半分の型です。メンバ関数を持つためにクラスにのみ適用されるためです。 – Jarod42
Cにはメンバー関数がないので、 "C遺産"にすることはできません。 – Jarod42
はい、でもCでは次のようなことがあります。 typedef int F(); const F f; でも、 'int f()const'は構文上正しくないかもしれません。 – igntec