реклама на сайте
подробности

 
 
> Улучшает ли читабельность и позволяет ли избежать ошибок перегрузка операторов
DASM
сообщение Jul 30 2014, 15:27
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Читаю тут программы, которые были созданы до меня, и их необходимо развивать. . Вообщем все красиво и учится стоит. Но вот перегрузка постфиксного ++ меня несколько смутила. Она не просто сдвигает указатель на сдедущую позицию, но попутно может сделать пару забавных вещей, как то стереть сектор во флеше итп, а вид такой наивный как pchar++., чего то даже не знаю, правильно ли это.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
neiver
сообщение Jul 31 2014, 13:20
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 22-03-10
Из: Саратов
Пользователь №: 56 123



Ну например, для всяких алгебраических типов данных перегрузка операторов однозначно полезна. Вместо какого-нибудь:
Код
c = sqrt(complex_add(complex_mul(a, a), complex_mul(b, b)));

можно записать:
Код
c = sqrt(a * a + b * b);

Существенно улучшает читаемость кода и уменьшает вероятность ошибок. Перегружать операторы конечно надо так, чтоб их семантика была очевидна.
Плохой пример:
Код
MyArray<int> array;
...
array = 10;

Если оператор присваивания перегружен. Что он может делать с массивом? Делает размер массива равным 10? Или присваивает всем элементам массива значение 10? Или только первому элементу?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016