d> В той же книжке написано, что шаблонный оператор = не перекрывает оператор копирования (т.е.
d> const A& A::operator = (const A&) ):
Так и есть.
d> , и рядом с этим написан код типа:
d> d> template <typename T>
d> template <typename T2>
d> Stack<T>& Stack<T>::operator= (Stack<T2> const& op2)
d> {
d> if ((void*)this == (void*)&op2) { // assignment to itself?
d> return *this;
d> }
d> ...
d> return *this;
d> }
d>
d> не понятен смысл проверки (void*)this == (void*)&op2
Но ведь можно попросить вызвать именно этот оператор
Stack<int> a1;
Stack<int> a2;
a1.operator=<int>(a2);
Вероятно, для такого случая и стоит проверка.
--
aga
Posted via RSDN NNTP Server 1.7 "Bedlam"