Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, superman, Вы писали:
S>>млин, а если Вася пупкин завтра перепишет твой конструктор? или добавит ещё один который такой гаринтии давать не будет? CC>А если вася пупкин перепишет твой конструктор так что все сломаеццо. CC>Это сродни вопросу "а что будет если программа будет работать неправильно?" CC>А если вася пупкин в ваш класс добавит конструктор по умолчанию и там ссылку проинитит адресом локальной переменной или вообще *NULL
всё, я умываю руки.
Сцылки это зло и излишество, а пароль ко всем сервакам пентагона "QWWERTY" и "Mao Tcedun"
Здравствуйте, superman, Вы писали:
S>Здравствуйте, CreatorCray, Вы писали:
CC>>Здравствуйте, superman, Вы писали:
S>>>млин, а если Вася пупкин завтра перепишет твой конструктор? или добавит ещё один который такой гаринтии давать не будет? CC>>А если вася пупкин перепишет твой конструктор так что все сломаеццо. CC>>Это сродни вопросу "а что будет если программа будет работать неправильно?" CC>>А если вася пупкин в ваш класс добавит конструктор по умолчанию и там ссылку проинитит адресом локальной переменной или вообще *NULL
S>всё, я умываю руки. S>Сцылки это зло и излишество, а пароль ко всем сервакам пентагона "QWWERTY" и "Mao Tcedun"
Гык. Ну согласитесь, что передать NULL в конструктор надо умудрится ещё, а тем более, там на нуль не проверить
> S>а у него в подкорке уже было проштамповано, что по умолчанию надо выбирать первый вариант. > ААААА!!!! Все пропало!!! А я списки пользую только тогда когда без них никак не написать
Ну если не смущает, что при этом зря отрабатывают дефолтные конструкторы — то можно продолжать писать в том же стиле.
> S> Чтобы он не думал > Программист, который не думает должен быть утилизирован, ИМХО
А оппонент, вырывающий цитаты из контекста, должен быть утилизирован с особой жестокостью...
> S> что писать, i++ или ++i, а первый вариант выбирал бы только в том случае, если ему в данном куске кода действительно нужно знать, что было в i до инкремента. А не писал по привычке i++. Привычка должна быть другая — писать по умолчанию ++i. > У меня для POD типов при наличии нормального компилера привычка писать постфиксный вариант как более удобный.
Путать POD и встроенные типы — это тоже в порядке вещей. А чем постфиксный вариант удобней, если не секрет?
> Скажите дохтур, я обречен?
Дохтур прописывает дотнет и жабу
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Hi
P>вопрос про ссылки ЭЛЕМЕНТАРНЫЙ — и если человек не знает, не может догадать или вывести гуся из опыта — это серьезный звонок. И можно воздержаться от бездоказательных утверждений типа — "по вашей вине столько хороших сотрудников" ...
P>Во первых — хороший сотрудник должен писать хороший код, а это невозможно без знания языка ... P>Во вторых к ссылкам можно еще добавить const-модификаторы, некоторые "профессионалы" не понимают когда и зачем его использовать и не видят разницы между ...
P>А это уже реальный косяк! .. =)
Не слишком. Полгода поработав на другом языке, подобную мелочевку (а это именно мелочевка, непринципиальные фичи) можно и забыть.
P>и понимание основных механизмов языка (в мсдн-е не дают) это не тоже самое что и знание кактой то апишной функции которую действительно можно посмотреть в справочнике ....
Основные механизмы в C++ в точности те же, что и в обычном Си. От слова "основные". Все остальное — дополнительные и необязательные фичи. В некоторых компаниях они возводятся в фетиш и активно разбавляются не менее интересными внешними инструментами а-ля буст. В некоторых других компаниях значительная часть фич языка (вплоть до stl) просто запрещается к использованию, и никаких катастроф от этого не происходит. Это не самые существенные детали, и уж тем более не основы.
Я иногда принимаю экзамены по c++ для студентов, которые в силу бытия студентами знать его даже наполовину не могут в принципе. Из них многие легко ответят на ваши вопросы, а потом некоторые напишут вот это:
Это миф, придуманный теми, кто просто в силу своего уровня не в состоянии понять... Это тоже самое, что сказать, что не возможно познать всю математику в университете (а там не меньше, а я бы сказал больше информации)... Я уверен в этом, потому что всё между собой тесно связанно и одно из другого вытекает... если заниматься делом не абы как, а с фундаментальным подходом — то все можно познать.
Здравствуйте, CreatorCray, Вы писали:
E>>>>Проблема этого кода в том, что он ill-formed (с первого беглого взгляда бросается в глаза void main). CC>>>Вот любопытно: чего бОльшая часть народу цепляется именно к несчастному void main () тогда как реально критичные ошибки опускаются "на потом"? E>>Так ведь это первое, что бросается в глаза. Зачем смотреть на остальное, если уже есть ответ?
CC>Ответ неправильный кста. Код хреновый не потому что void main () — вполне может быть что код писан был под VC6
Каким образом существование Microsoft® Visual® C++ 6.0 влияет на ill-formedness указанного текста согласно ANSI ISO/IEC 14882:2003?
Здравствуйте, sc, Вы писали:
FDS>>А если представить себе ещё одно неправильное использование такой структуры блокировки: она незаметно для программиста (ну спешил человек или устал просто и не заметил) попадает во вложенные операторные скобки, а на самом деле должна блокировать всю функцию. Вот вам ещё одна ошибка, которую надо искать.... Правда тогда нужно делать функцию, а потом её обернуть ещё одной с синхронизацией чтобы точно никаких ошибок не было.... а это в C++ будет уже не удобно, скорее всего
sc>В данном случае, если ссылку заменить на указатель, вред точно такой же :) sc>Почему же указатели хуже? Потому что Гугл на запрос "pointers are evil" выдает 554 ссылки а на "references are evil" всего 10 :)
Это напоминает мне «Как заработать миллион» и тот, второй, запрос с BOR.
Ссылки можно рассматривать как недоуказатели: не умеют менять адрес того, на что указывают, не бывают NULL. В этом-то и прелесть. Чем меньше, тем лучше. Надо будет, использую указатель — boost::reference_wrapper хранит данные отнюдь не в ссылке! А если хватит ссылки, воспользуюсь ей и наступлю на меньшее количество грабель.
_>Известно, что ссылку нельзя переназначить и ссылка всегда должна быть инициализированная.
_>
_>struct ABC
_>{
_> int &a;
_>};
_>
_>может ли существовать такой тип ABC, вообще? Если программист "с лету" говорит "Да, проблем нет." Тогда что делать с правилом инициализации ссылки? Тут можно многое спросить еще, про дефолтный конструктор, как его генерируют и пр. Такие вопросы нужны что-бы отфильтровать шлак и посмотреть видел ли человек C++ вообще.
FFF>Это миф, придуманный теми, кто просто в силу своего уровня не в состоянии понять... Это тоже самое, что сказать, что не возможно познать всю математику в университете (а там не меньше, а я бы сказал больше информации)...
Возьмите любого студента через 2-3 года после окончания университета. Много он той математики вспомнит, если его дальнейшая работа не была с ней связана? Хорошо, если из каждого раздела по нескольку основных определений и теорем будет помнить. Так же и программист: если ему не приходилось использовать какую-то грань языка С++ в работе, то он вполне может ее наизусть не помнить. Хотя иметь при этом солидный опыт и хорошо писать программы.
Хороший программист — это не тот, кто хорошо знает редкие и малоиспользуемые конструкции языка, а тот, кто хорошо умеет использовать простые и распространенные. А если ему понадобится использовать что-то, что он не знает, то потратит десять минут и изучит, делов то.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Ссылки можно рассматривать как недоуказатели: не умеют менять адрес того, на что указывают, не бывают NULL. В этом-то и прелесть. Чем меньше, тем лучше. Надо будет, использую указатель — boost::reference_wrapper хранит данные отнюдь не в ссылке! А если хватит ссылки, воспользуюсь ей и наступлю на меньшее количество грабель.
Спор начался с того, что ссылка сама — грабли, так как по её использованию не видно, ссылка это или реальный объект
Здравствуйте, 0x8000FFFF, Вы писали:
FFF>Это миф, придуманный теми, кто просто в силу своего уровня не в состоянии понять... Это тоже самое, что сказать, что не возможно познать всю математику в университете (а там не меньше, а я бы сказал больше информации)...
Невозможно. Иначе бы не было восхищений, когда профессионалы встречают человека, очень хорошо разбирающегося в нескольких различных областях математики, физики и т.п. Большинство профессионалов хорошо изучают и понимают только свою область
FFF>Я уверен в этом, потому что всё между собой тесно связанно и одно из другого вытекает... если заниматься делом не абы как, а с фундаментальным подходом — то все можно познать.
Ну, я вот сейчас сопроматом занимаюсь. Стандартный курс сопромата сдал на 5. Вы думаете, что я понимал то, за что получил 5? Да не фига! Мне потребовалось 1,5 года занятий по нелинейной теории чтобы наконец-то понять, что же там было.
Так что не думаю, что объём каких-либо курсов в ВУЗе — это аргумент
Здравствуйте, FDSC, Вы писали:
FDS>Не понял. FDS>i здесь — приватная переменная
Так класс писал ты, потом его правило еще десяток человек, и он достался мне
Здравствуйте, LuciferMoscow, Вы писали:
LM>Здравствуйте, FDSC, Вы писали:
FDS>>Не понял. FDS>>i здесь — приватная переменная LM>Так класс писал ты, потом его правило еще десяток человек, и он достался мне
И?
Как раз для этого я и говорю, что указатели лучше. Потому что про ссылку можно забыть, что она ссылка, а указатель — он сразу видно, что указатель
Не знаю, что будет от разыменования целочисленной переменной, но, думаю, не больше проблем, чем от случайной замены объекта по ссылке на другой объект