> Если мы будем вызывать метод класса по указателю, то > никаких конструкторов вызываться не будет, даже, если > нужно. Просто, если мы попытаемся обратиться к не > инициализированному объекту будет ошибка. Впрочем, если > конструктор не вызывали, то и указатель будет пустой.
Не совсет так (см замечание автора выше по нитке). Если бы не было бы определено операторов: bool operator== ( const char* lhs, const string& rhs ); bool operator== ( const string& lhs, const char* rhs );, а был бы только оператор bool operator== ( const string& lhs, const string& rhs ); (что по некоторой инфе и было на заре STL):, то конструктор (string ( const char * s );) вызывался бы автоматически, создавая дополнительные оверхеды.
|