Null クラス ポインターを使用したクラス メソッドへのアクセス
指定したコード スニペットには、print( というメソッドを持つ ABC という名前のクラスがあります。 )。ポインターを使用してクラスのインスタンスを作成しますが、それに null 値を割り当てます。次に、null ポインターで print() メソッドを呼び出そうとします。
提供された回答によると、null ポインターを介してメンバー関数にアクセスすると、未定義の動作が発生するはずです。ただし、あなたの場合、エラーなしで動作しているようです。なぜこのようなことが起こっているのでしょうか?
その答えは、print() メソッドでは、現在のオブジェクトを指す this ポインターが使用されていないことを説明しています。 this ポインターには直接アクセスされないため、プログラムは null ポインターに関連する問題を回避できます。
言い換えると、print() メソッドはデータに依存しないため、オブジェクトを参照せずに実行できます。オブジェクトのメンバーまたはメソッド。単に文字列を画面に出力するだけです。
以上がNull ポインターを使用したクラス メソッドの呼び出しが機能する場合があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。