Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перегрузка оператора =, трабл 
V
    Опции темы
azesmcar
Дата 27.10.2009, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(neutrino @  27.10.2009,  16:20 Найти цитируемый пост)
Ест' автомат калашникова. I вот вышлa улучшенная версия с курком, при нажатиi на который, автомат нчнает стрелять только по командирам. Вот такой хитрый автомат с распознаванием звания...

Следую этому примеру, C++ - автомат с распознаванием звания, но вы находите эту функцию никому не нужной и говорите что вот такой хитрый автомат хуже предыдущего, потому что там есть функция, которой можно застрелить и своих командиров тоже. А вы не стреляйте по своим smile По любому, старая версия от этого лучше не стала, есть курок, не хотите - не используйте. 

Цитата(neutrino @  27.10.2009,  16:20 Найти цитируемый пост)
Все бы ничего, так только ХАМАСу никто не объяснил толком как пользоваться этиm курком

Кто в этом виноват? либо читайте учебники, либо не трогайте курок, либо идите под трибунал за расстрел своих офицеров. Обыкновенным курком тоже можно своего офицера убить.

Это сообщение отредактировал(а) azesmcar - 27.10.2009, 16:30
PM   Вверх
kemiisto
Дата 27.10.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(azesmcar @  27.10.2009,  17:10 Найти цитируемый пост)
где это ты противоречие заметил? не надо голословных утверждений, пальцем покажи.

Я писал ниже. Если ты не понимаешь, я не виноват. Попробую ещё раз.

Цитата(azesmcar @  27.10.2009,  16:55 Найти цитируемый пост)
Но вопрос и меня заинтересовал, как может наличие чего-либо испортить язык программирования?

Потенциально опасная (в любом смысле этого слова) возможность рано или поздно будет кем-нибудь использована. Помнишь знаменитое ружьё, которое обязательно выстрелит? Вот тем и плох язык, в котором слишком много "граблей", на которые можно наступить. Так понятнее?

Цитата(azesmcar @  27.10.2009,  17:10 Найти цитируемый пост)
Любой язык это позволяет. Хочешь быдлокод на Erlang-е или ColdFusion-е? У меня тут на работе 50 индусов день и ночь трудяться, ты только скажи на каком языке тебе быдлокод показать.

Этот пример действительно хорош. Только он в мою пользу. smile Ещё раз прочитай, что написано чуть выше. Писать быдлокод можно на любом языке, но С++ (зачастую) прямо таки подталкивает это сделать! И вот ещё что - "индусы" (в кавычках, так как имеются в виду не жители Индии, а индокодеры) обычно учатся программировать на С++. Они развращены этим языком и, кроме как быдлокодить, мало на что способны. Я про это уже в сотый раз говорю. smile Надоело повторяться.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
azesmcar
Дата 27.10.2009, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(kemiisto @  27.10.2009,  16:32 Найти цитируемый пост)
Если ты не понимаешь, я не виноват

Веский аргумент. Ты уверен? Давай я тебе по китайски поясню (или сделаю вид что поясню) и если ты меня не поймешь - я не виноват.

Цитата(kemiisto @  27.10.2009,  16:32 Найти цитируемый пост)
Потенциально опасная (в любом смысле этого слова) возможность рано или поздно будет кем-нибудь использована. Помнишь знаменитое ружьё, которое обязательно выстрелит? Вот тем и плох язык, в котором слишком много "граблей", на которые можно наступить. Так понятнее?

Ну и где ты тут противоречие? Я говорю то, что всегда говорил, покажи мне на какой строчке я себе противоречу.

Цитата(kemiisto @  27.10.2009,  16:32 Найти цитируемый пост)

Этот пример действительно хорош. Только он в мою пользу. smile Ещё раз прочитай, что написано чуть выше. Писать быдлокод можно на любом языке, но С++ (зачастую) прямо таки подталкивает это сделать! И вот ещё что - "индусы" (в кавычках, так как имеются в виду не жители Индии, а индокодеры) обычно учатся программировать на С++. Они развращены этим языком и, кроме как быдлокодить, мало на что способны. Я про это уже в сотый раз говорю. smile Надоело повторяться. 

это ты только хочешь чтобы он в твою пользу был. В чем же тут твоя польза? Я что, говорил что C++ к этому подталкивает? Я говорил что быдлокод можно писать на любом языке, в том числе и на C++. И поверь мне, для индусов (они кстати настоящие) нет никакой разницы на чем быдлокодить, код одинаково плох. Если человек умеет программировать - его код легко читать и сопровождать, если же нет, не важно на каком языке он писал, он все равно испоганит код.
PM   Вверх
UnrealMan
Дата 27.10.2009, 18:11 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(neutrino @  27.10.2009,  15:46 Найти цитируемый пост)
Что-тo от твоего поста столько пены, чтo приходится монитор протирать.

Что ты там вытворяешь перед монитором, меня не касается.

Цитата(neutrino @  27.10.2009,  15:46 Найти цитируемый пост)
Так чтo можешь побеситься, если тебя это успокоит.

Беситься из-за тебя? Высокого же ты о себе самомнения smile Тот бред, что ты написал, достоин не больше, чем ухмылки и минуса в твою репу.

Цитата(neutrino @  27.10.2009,  15:46 Найти цитируемый пост)
У нас один девелопер использовал перегрузку операторов в многопротокольной системе. Так вот теперь, когда надo разбираться в этоm фреймворке, там черт ногу сломит. Потому, что въехать когда что и где у него вызывается из-за перегрузки операторов очень не просто.

И в чём именно сложности? В незнании правил?

Цитата(neutrino @  27.10.2009,  15:46 Найти цитируемый пост)
Я привел аргумент, что в Java (нe Жаба) как раз был сделан упор на то, чтобы код был легко поддерживаемый.

Кем именно поддерживаемый? Я, например, вряд ли разберусь в коде на Java, если совсем не приложу никаких усилий для изучения этого языка.

Цитата(neutrino @  27.10.2009,  15:46 Найти цитируемый пост)
узри в постах выше, что говорится о задании по ООП...

У тебя специальная функция-член объявляется неявно и скрывает такую же функцию в базовом классе. Даже если бы в C++ вместо operator= ту же самую операцию выполняла какая-нибудь специальная неоператорная функция-член (скажем, assign), то ничего бы не изменилось. И, кстати, если тебе вдруг захочется инициализировать объект производного класса объектом базового, то инициализация копирующим конструктором базового класса, про который ты почему-то забыл, тоже не будет работать (причём в случае использования C++03 using там тебе уже не поможет).

Т.е. здесь корень проблемы кроется не в перегрузке операторов как таковой, а в спецификации специальных функций, выполняющих копирование. Ты хоть это-то понял?

Цитата(neutrino @  27.10.2009,  15:46 Найти цитируемый пост)
Я ни словом не заикнулся o дизайне ЯП

Возможность перегрузки операторов относится к дизайну ЯП. Так что всё-таки заикнулся.
PM MAIL   Вверх
neutrino
Дата 27.10.2009, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



azesmcar, 
Цитата(azesmcar @  27.10.2009,  15:24 Найти цитируемый пост)
А вы не стреляйте по своим  По любому, старая версия от этого лучше не стала, есть курок, не хотите - не используйте.

Если будет больше возможностей сделать ошибку, то это есть плохо. Особенно, когда персонал недостаточно квалифицирован. Это факт. С этим спорить я думаю ты не будешь. Теперь посмотри на сложности в темплейтах, множественное наследование и т.д. и т.п. Т.е. граблей в С++ гораздо больше, чем в Java/C#.
Конечно бы ты был прав - не хотите не используйте. Не умеете не беритесь. Но кто так делает? У меня был тим лид (его уволили год назад) дык он начитался про паттерн State и реализовал весь Error Handling через него (даже эксепшены все нафик выкинул). Его то уволили, а кто разбирал всю эту мусорку? Догадался?
UnrealMan, А вы, господин, у меня в игноре за ваше хамство, так что сосите ноги.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
firstone
Дата 27.10.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 25.9.2007
Где: Кровью залитая Св ятая Земля

Репутация: нет
Всего: 7



Цитата(azesmcar @  27.10.2009,  16:37 Найти цитируемый пост)
Если человек умеет программировать - его код легко читать и сопровождать, если же нет, не важно на каком языке он писал, он все равно испоганит код.

Золотые слова. Только вот если емu возможности поурезать, быть может и меньше быдлокодить будет.
--------------------
В программировании я конфуцианец. В жизни я либерал-демократ. В душе я буддист.Добавлено через 1 минуту и 9 секундА на самом деле я лентяй.
PM MAIL   Вверх
azesmcar
Дата 27.10.2009, 22:41 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(neutrino @  27.10.2009,  22:26 Найти цитируемый пост)
Если будет больше возможностей сделать ошибку, то это есть плохо. 

Профессиональный аппарат дает больше возможностей чем мылцница, и ошибиться при использовании намного легче, но это не значит что функции, которые он предоставляет не нужны вообще, он дает возможность ручной настройки, что в свою очередь дает широкие возможности использования разбирающимся людям.

Цитата(neutrino @  27.10.2009,  22:26 Найти цитируемый пост)
Особенно, когда персонал недостаточно квалифицирован

Неквалифицированным людям писать код ЗАПРЕЩЕНО. Не важно на чем, неквалифицированный человек испоганит код даже на бейсике. 
Цитата(neutrino @  27.10.2009,  22:26 Найти цитируемый пост)
Теперь посмотри на сложности в темплейтах, множественное наследование и т.д. и т.п. 

Ничего сложного я не замечал, есть вещи которые нужно знать, вот и все.

Цитата(neutrino @  27.10.2009,  22:26 Найти цитируемый пост)
Т.е. граблей в С++ гораздо больше, чем в Java/C#.

Не знаю как насчет Java (в глаза не видел), а с C# - согласен, только вот эти грабли совершенно не имеют отношения к шаблонам и операторам.

Цитата(neutrino @  27.10.2009,  22:26 Найти цитируемый пост)
Конечно бы ты был прав - не хотите не используйте. Не умеете не беритесь. Но кто так делает? У меня был тим лид (его уволили год назад) дык он начитался про паттерн State и реализовал весь Error Handling через него (даже эксепшены все нафик выкинул). 

Это называется антипаттерн "Золотой молот". Никакого отношения конкретно к языку программирования он не имеет, впрочем как и паттерны.
А у меня индус в оракл базе поле IS_ACTIVE создал типа varchar2(255), наверное чтобы там кроме значений Y и N можно было еще и утвердительное YES OF COURSE написать, не знаю, прикажете отменить тип varchar2? Я же говорю, человек который стремиться нагадить в код полюбому нагадит, неважно на каком языке.

Цитата(firstone @  27.10.2009,  22:36 Найти цитируемый пост)
Золотые слова. Только вот если емu возможности поурезать, быть может и меньше быдлокодить будет. 

вполне возможно, но тогда знающие люди не смогут восползоваться этими возможностями во благо общества  smile 

Это сообщение отредактировал(а) azesmcar - 27.10.2009, 22:43
PM   Вверх
neutrino
Дата 27.10.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 1
Всего: 62



Цитата(azesmcar @  27.10.2009,  21:41 Найти цитируемый пост)
Профессиональный аппарат дает больше возможностей чем мылцница, и ошибиться при использовании намного легче, но это не значит что функции, которые он предоставляет не нужны вообще, он дает возможность ручной настройки, что в свою очередь дает широкие возможности использования разбирающимся людям.

Я не могу с тобой не согласиться. Особенно как обладатель цифрозеркалки, знаю какой замечательный функционал она дает. И да, все зависит от рук. Но с другой стороны, по аналогии, если бы надо было снимать только водопады на длинной выдержке (у нас ООП), то режим "водопад" для большинства людей (девелоперов) был бы лучше, чем все навороты цифрозеркалки.

Вероятно я неправ на счет операторов, но в С++ и без них граблей хватает.
Цитата(azesmcar @  27.10.2009,  21:41 Найти цитируемый пост)
А у меня индус в оракл базе поле IS_ACTIVE создал типа varchar2(255), наверное чтобы там кроме значений Y и N можно было еще и утвердительное YES OF COURSE написать,

 smile  smile  smile 


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
azesmcar
Дата 27.10.2009, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(neutrino @  27.10.2009,  22:50 Найти цитируемый пост)
Вероятно я неправ на счет операторов, но в С++ и без них граблей хватает.

например?
Я так думаю сейчас речь пойдет о макросах (не дожидаясь отвечу). На эту тему уже была одна дискуссия, можете ознакомиться.
http://forum.vingrad.ru/forum/topic-255252...ml#st_75_view_0


Это сообщение отредактировал(а) azesmcar - 27.10.2009, 23:12
PM   Вверх
niXman
Дата 27.10.2009, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 4.7.2009

Репутация: 0
Всего: 0



Цитата(azesmcar @  27.10.2009,  20:41 Найти цитируемый пост)
Профессиональный аппарат дает больше возможностей чем мылцница, и ошибиться при использовании намного легче, но это не значит что функции, которые он предоставляет не нужны вообще, он дает возможность ручной настройки, что в свою очередь дает широкие возможности использования разбирающимся людям.

Все верно.

Цитата(azesmcar @  27.10.2009,  20:41 Найти цитируемый пост)
неквалифицированный человек испоганит код даже на бейсике.

Так же.

Цитата(azesmcar @  27.10.2009,  20:41 Найти цитируемый пост)
Ничего сложного я не замечал, есть вещи которые нужно знать, вот и все.

Опять верно.

Цитата(azesmcar @  27.10.2009,  20:41 Найти цитируемый пост)
А у меня индус в оракл базе поле IS_ACTIVE создал типа varchar2(255), наверное чтобы там кроме значений Y и N можно было еще и утвердительное YES OF COURSE написать, не знаю, прикажете отменить тип varchar2?

 smile 

Цитата(azesmcar @  27.10.2009,  20:41 Найти цитируемый пост)
вполне возможно, но тогда знающие люди не смогут восползоваться этими возможностями во благо общества

Ага.

п.с.
Иногда, такое впечатление, что все существующие ЯП создаются исключительно для того, чтоб кодить мог каждый дэбил. Вот существовал бы только С++ и ассемблер, как вы думаете, на сколько процентов меньше программеров бы существовало? smile 
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
azesmcar
Дата 27.10.2009, 23:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(neutrino @  27.10.2009,  22:50 Найти цитируемый пост)
 smile  smile  smile  


Цитата(niXman @  27.10.2009,  23:19 Найти цитируемый пост)
smile 

Вам смешно а в этой таблице 98 колонок, одна краше другой smile 
PM   Вверх
kemiisto
  Дата 27.10.2009, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(azesmcar @  27.10.2009,  23:41 Найти цитируемый пост)
Профессиональный аппарат дает больше возможностей чем мылцница, и ошибиться при использовании намного легче, но это не значит что функции, которые он предоставляет не нужны вообще, он дает возможность ручной настройки, что в свою очередь дает широкие возможности использования разбирающимся людям.

Ты сравниваешь две вещи из разных весовых категорий. А мы не о том говорим. Что принципиально невозможно написать на том же OBERON, что можно написать на С++? Правильный ответ - ничего. И вот, когда мы имеем дело с вещами одной весовой категории тут и начинается самое интересное... Что именно? А вот что!

Статья из New York Times. BEHIND THE WHEEL/BMW 745i; Dazed by a Technical Knockout
Цитата
PEOPLE seem to misinterpret complexity as sophistication,'' Niklaus Wirth, the Swiss computer scientist, once said. In luxury cars that flaunt the latest technologies, gadgets and amusements, it can be hard to tell the difference, just as it is difficult to define the point where technology intended to aid the driver starts to get in the way of driving. ... Suffice it to say that the 7 is surely the world's most advanced sedan, but it is not the most user-friendly.

На русском:
Цитата
“Люди по ошибке принимают сложность за изощренность”, — сказал однажды Никлаус Вирт, швейцарский ученый, специалист по информатике. В роскошных автомобилях, напичканных новейшими технологиями, прибамбасами и завлекалками, уже трудно увидеть эту разницу — так же, как трудно определить ту точку, за которой техника, целью которой была помощь водителю, становится помехой вождению… Достаточно сказать, что семерка, несомненно, самый “продвинутый” седан в мире, но отнюдь не самый легкий в управлении


 smile 

Это сообщение отредактировал(а) kemiisto - 27.10.2009, 23:34


--------------------
PM MAIL WWW GTalk Jabber   Вверх
mes
Дата 28.10.2009, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(kemiisto @  27.10.2009,  22:33 Найти цитируемый пост)
Что принципиально невозможно написать на том же OBERON, что можно написать на С++? 

можно ли на обероне написать полноценный компилятор для обeрона и те необходимые для его работы библиотеки ?
думаю сомнений что это возможно на C++ у Вас нет.



--------------------
PM MAIL WWW   Вверх
kemiisto
Дата 28.10.2009, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(mes @  28.10.2009,  01:13 Найти цитируемый пост)
можно ли на обероне написать полноценный компилятор для обeрона и те необходимые для его работы библиотеки ?

Oberon как язык программирования лишь часть одноименной ОС.
Цитата
Oberon is an operating system, originally developed as part of the NS32032-based Ceres workstation project; it is written entirely in the Oberon programming language.

Принципиальные сомнения развеял?

Добавлено через 3 минуты и 13 секунд
Сейчас активно (всё относительно smile ) развивают Bluebottle. Эта ОС написана на Active Oberon.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
niXman
Дата 28.10.2009, 00:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 4.7.2009

Репутация: 0
Всего: 0



kemiisto, Это - 
Цитата(kemiisto @  27.10.2009,  21:33 Найти цитируемый пост)
Ты сравниваешь две вещи из разных весовых категорий.


Добавлено через 4 минуты и 49 секунд
Цитата(kemiisto @  27.10.2009,  22:17 Найти цитируемый пост)
Сейчас активно (всё относительно smile ) развивают Bluebottle. Эта ОС написана на Active Oberon. 

Это еще что такое? smile 


kemiisto, И вообще, можете популярно объяснить, что за ОС, которая является частью ЯП(или на оборот?). Какое применение? Где? Для чего?

--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0758 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.