Форум
C/C++
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, Artifact, Вы писали: A>Здравствуйте, Artifact, Вы писали: A>>Разве кто-то в здравом уме станет присваивать что-то самому себе? И, если уж так вышло, не является ли это ошибкой? И не лучше ли тогда вместо A>>[ccode]MyClass& operator=(const MyClass& other) { A>> if(this != &other) { A>> * * * A>> } A>>}[/ccode] A>>писать A>>[ccode]MyClass& operator=(const MyClass& other) { A>> assert(this != &other) A>> * * * A>>}[/ccode] A>Нашёл пример, когда такое возможно и оправдано A>[ccode]using namespace std; A>struct MyType A>{ A> int value; A> MyType& operator=(const MyType& r) { A> if(this == &r) A> cout << "this == &r" << endl; A> value = r.value; A> return *this; A> } A> friend bool operator<(const MyType& l, const MyType& r) { A> return l.value < r.value; A> } A>}; A>int main() A>{ A> MyType a{1}; A> MyType b{2}; A> a = min(a, b); A> return 0; A>}[/ccode]
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …