Ich habe kürzlich den Quellcode von SGI STL angesehen. Ich möchte wissen, ob ich das "- & gt;" Operator, der (*node).data
ersetzt, um operator*()
zu implementieren, wie folgt:
ersetzt durch:
%Vor%zusätzlich:
Knoten ist ein Zeiger, der auf ein Strukturobjekt zeigt, wie folgt:
%Vor% In den meisten Fällen (z. B. wenn node
ein Zeiger ist) sind diese gleichwertig. Der x->y
-Operator ist definiert als äquivalent zu (*(x)).y
. Es ist jedoch möglich, operator*
oder operator->
zu überladen. In diesem Fall verhalten sie sich möglicherweise nicht wie erwartet (aber sollte ).
Wie Sie gesagt haben, ist node
in diesem Fall nur ein Zeiger, also sind sie gleichwertig.
Tags und Links c++ stl operator-overloading