Здравствуйте, sergii.p, Вы писали:
SP>Здравствуйте, alpha21264, Вы писали:
A>>Ну с первой задачей я справлюсь. A>>А про шаблоны честно скажу, что не умею. A>>Откажете?
SP>я вообще никогда не отказываю. Я говорю уровень кандидата. А уже руководство принимает решение: соответствует ли уровень запросам. Но вообще если senior говорит, что в шаблоны не умеет, то большой вопрос почему он считает себя сеньёром.
Наверное, потому что компьютер, с которого ты написал своё сообщение, сделан с помощью моей программы...
И шаблоны для этого не понадобились, потому что шаблоны — зло.
Вот представь себе, что программы живут долго, в некоторых из них встречаются строчки типа #ifdef VAX_VMS,
и вдруг там встречается кусок кода, с навороченными шаблонами, и никто (включая автора) не знает, как это работает.
Течёт вода Кубань-реки куда велят большевики.
Re[7]: Накидайте плиз задачек на знание языка Си++
Здравствуйте, kov_serg, Вы писали:
_>Внесём еще правок _>
_>#define SUM(V,Y) ((V)+(Y))
_>
_>И да для SUM(i++,i++) будут сайд эффекты.
Будет UB. В старых терминах — множественная модификация переменной между двумя точками следования. Сейчас термины уже другие (sequenced before, sequenced after, etc.), но UB никуда не делось.
R>Так норм?
ага R>Это, скажем так, параноидальный уровень обобщенности. Этот вариант учитывает, что operator+ может быть перегружен пользователем и иметь побочные эффекты и самую безумную семантику. Например, модифицировать операнды.
Параноидальный, да, но от дурака не спасает:
std::cout << sum("1234567890", 'a') << std::endl;
И каждый день — без права на ошибку...
Re[4]: Накидайте плиз задачек на знание языка Си++
Здравствуйте, B0FEE664, Вы писали:
BFE>Здравствуйте, C0x, Вы писали:
C0x>>Если у вас есть какие-нибудь подобного рода перлы, то буду очень благодарен. BFE>
Здравствуйте, B0FEE664, Вы писали:
BFE>Да. Как и "Problem 1". BFE>Ничего интересного, кроме того, что подобный код прошёл код-ревью, компилируется, выполняется и не содержит UB.
Я больше скажу, если даже исправить эту ошибку, то ничего в том примере не изменится. isM_D_C_And_Way как возвращала всегда false, так и будет возвращать. Независимо от состояния макроса M_D_C.
--
Справедливость выше закона. А человечность выше справедливости.
Здравствуйте, rg45, Вы писали:
R>Я больше скажу, если даже исправить эту ошибку, то ничего в том примере не изменится. isM_D_C_And_Way как возвращала всегда false, так и будет возвращать. Независимо от состояния макроса M_D_C.
В этом примере — да, а в реальности Mode читается из файла.
И каждый день — без права на ошибку...
Re[6]: Накидайте плиз задачек на знание языка Си++
Здравствуйте, B0FEE664, Вы писали:
BFE>В этом примере — да, а в реальности Mode читается из файла.
Ну вот этот момент вносит определённую долю удивления при чтении примера. Логика примера теряется. Получается, что все эти "много букв" только ради того, чтоб труднее было найти пропущенные скобки. Возможно, имело бы смысл показать только объявление GetMode.
--
Справедливость выше закона. А человечность выше справедливости.