1. ホーム
  2. c++

[解決済み] C++ - 静的メンバ関数が 'const' 修飾子付きで作成できない理由

2023-01-07 21:45:34

疑問点

今日、問題が発生しました。私は static のメンバー関数が必要です。 const は必須ではありませんが、ベターです。しかし、私は私の努力で成功しませんでした。誰か理由か方法を言うことができますか?

どのように解決するのですか?

を適用すると const 修飾子を適用すると、非静的メンバ関数に影響します。 this ポインタに影響します。 クラスの const で修飾されたメンバ関数の場合 C を指定します。 this ポインタの型は C const* であるのに対し、const で修飾されていないメンバ関数の場合は this ポインタの型は C* .

静的メンバ関数は this ポインタを持たないので(そのような関数はクラスの特定のインスタンス上で呼び出されません)、静的メンバ関数のconst修飾は何の意味もありません。