ポインター間のオブジェクトの同等性の決定
C では、等価演算子 (==) を使用した 2 つのポインターの比較は、それぞれのオブジェクトに依存します。 .
オブジェクトへのポインタ
同じ型のオブジェクトを指すポインタ (a および b) の場合、等価演算 (a == b) は true を返します。次の場合:
関数へのポインタ
ポインタが同じ型の関数を指している場合、それらが同じ関数を指している場合にも比較は true を返します。
配列要素へのポインター
ポインターが配列内の要素を指す場合、それらが同じ要素を参照しているか、同じ配列の最後の要素の 1 つ先である場合、比較は true を返します。
未指定の比較
特定のシナリオでは、ポインターの等価演算子の動作は未指定です。これには以下が含まれます。
標準ライブラリの拡張
C 標準ライブラリは std::less<> を提供します。このテンプレートは、組み込み演算子によって定義された比較動作に関係なく、任意のポインター型に対してグローバルな順序付けを提供します。これにより、void ポインターの一貫した比較が可能になります。
以上がC でポインターを比較して等しいかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。