7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
|
|
1 | |
Нестандартное и полезное применение оператора присвоения28.09.2017, 15:55. Показов 761. Ответов 5
Метки нет (Все метки)
Подскажите, пожалуйста, когда полезно следующее использование оператора присвоения: (x = y) = w ?
При этом оператор = не перегружен и речь идёт не об объектах, а о стандартных типах. То есть x, y и w - стандартные типы. Интересует вариант, когда это применяется очень хитро. Имею ввиду, что на первый взгляд мы просто присваиваем игрик иксу и потом присваем дабл ю иксу и от этого никакой пользы. Но, я точно знаю что можно придумать случай очень хитрый, когда такое присваение будет очень выгодным. Только не могу придумать.
0
|
28.09.2017, 15:55 | |
Ответы с готовыми решениями:
5
Перегрузка оператора присвоения Перегрузка оператора присвоения в enum class Перегрузка конструктора копирования и оператора присвоения Почему не вызывается ни конструктор копий, ни функция перегруженного оператора присвоения |
Модератор
13680 / 10889 / 6466
Регистрация: 18.12.2011
Сообщений: 29,058
|
||||||
28.09.2017, 16:04 | 2 | |||||
Польза тут только в том, что y не меняется
1
|
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
|
||||||
29.09.2017, 20:05 [ТС] | 3 | |||||
Подскажите, пожалуйста, идею для хитрого и полезного использования последовательного оператора присвоения.
Имею ввиду любой случай на языке C или C++ с использованием стандартных типов или с использованием объектов, что бы было полезно сделать следующее
Меня интересует только идея без реализации. Буду очень благодарен.
0
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
|
29.09.2017, 20:10 | 4 |
все хитрое, нестандартное и неоднозначное - зло.
и даже при стандартном поведении операторов такой код - зло.
3
|
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
|
|
30.09.2017, 02:33 [ТС] | 5 |
DU3, спасибо за информирование. Но, я всё равно хотел бы придумать или увидеть случай, когда его можно использовать.
0
|
Вездепух
12766 / 6648 / 1790
Регистрация: 18.10.2014
Сообщений: 16,807
|
|
30.09.2017, 04:09 | 6 |
Практически никогда.
В языке С и в оригинальной спецификации языка С++ (C++98) такое выражение порождает неопределенное поведение. То есть в "классическом" С++ такие выражения бесполезны по определению. Начиная с С++11 правила sequencing в языке были изменены, побочным эффектом чего явилось то, что начиная с С++11 такой код уже не порождает неопределенного поведения. Но какой-то "полезностью" от этого данное выражение не наделилось.
1
|
30.09.2017, 04:09 | |
30.09.2017, 04:09 | |
Помогаю со студенческими работами здесь
6
Повторное применение оператора delete Применение тернарного оператора. Необходимо определить месяц Оригинальное и полезное применение простанств имён Есть ли на Лисп аналог оператора присвоения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |