Size: a a a

2020 August 02

CD

Constantine Drozdov in pro.cxx.holywars
/dev/urandon ¯\_(ツ)_/¯
Если даже стлдиба забила хуй на value category, то почему прикладной разраб не забьёт?)
она забила на это по причине С++98
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
в моём манямирке это норм код
источник

CD

Constantine Drozdov in pro.cxx.holywars
Alexander Zaitsev
если в твоем манямирке это плохой код - ок
в моем манямирке запрещено наебывать читателя кода
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
Constantine Drozdov
в моем манямирке запрещено наебывать читателя кода
а я просто не считаю это наёбкой, вот и всё
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
можешь думать иначе
источник

CD

Constantine Drozdov in pro.cxx.holywars
Alexander Zaitsev
можешь думать иначе
ну конечно, насрать лишней переменной в scope потому что ты не знаешь, что конструкции
auto const& tmp = f();
for (auto x : tmp)
и
for (auto x : f())
эквивалентны с точностью до проебывания structure binding совершенно точно не хуета)
источник

CD

Constantine Drozdov in pro.cxx.holywars
int i = 0;
for (; i < n; ) {
    ++i;
}
//i больше не используется
пойду вот так тебе в проект напишу
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
Constantine Drozdov
ну конечно, насрать лишней переменной в scope потому что ты не знаешь, что конструкции
auto const& tmp = f();
for (auto x : tmp)
и
for (auto x : f())
эквивалентны с точностью до проебывания structure binding совершенно точно не хуета)
(на самом деле я рофлил и второй варик я пишу, но вынести наверх я не считаю зазорным. но там по причине читаемости обычно получается :) )
источник

CD

Constantine Drozdov in pro.cxx.holywars
Alexander Zaitsev
(на самом деле я рофлил и второй варик я пишу, но вынести наверх я не считаю зазорным. но там по причине читаемости обычно получается :) )
ну говорю
int i = 0;
for (; i < n; ) {
    ++i;
}
//i больше не используется
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
ибо обычно там хуерга вида:
for (auto sharePointRoleAssignment : enumeratorHuerator.EnumerateAllSharePointRoleAssignments(параметров судя докинь ещё))
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Constantine Drozdov
ну конечно, насрать лишней переменной в scope потому что ты не знаешь, что конструкции
auto const& tmp = f();
for (auto x : tmp)
и
for (auto x : f())
эквивалентны с точностью до проебывания structure binding совершенно точно не хуета)
Это работает так. Прикладной разраб, писавший на C++03 и получивший в руки C++111417, открывает https://en.cppreference.com/w/cpp/language/range-for и видит табличку
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
источник

CD

Constantine Drozdov in pro.cxx.holywars
все правильно написано
источник

CD

Constantine Drozdov in pro.cxx.holywars
учил С++11 по этой табличке
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
Constantine Drozdov
ну говорю
int i = 0;
for (; i < n; ) {
    ++i;
}
//i больше не используется
а на такое паттерны натренены уже и распознают все, поэтому можно и не страдать
источник

CD

Constantine Drozdov in pro.cxx.holywars
Alexander Zaitsev
а на такое паттерны натренены уже и распознают все, поэтому можно и не страдать
у меня только паттерн дилдака настроен на такое
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
Constantine Drozdov
все правильно написано
да, только работяги у станков такие
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Думает: "ага, это сахар, тут скоуп. Вот этот пример легко запомнить, запомню. Корнер кейсы нахуй, почитаю это страницу снова, если буду сомневаться"
источник

CD

Constantine Drozdov in pro.cxx.holywars
/dev/urandon ¯\_(ツ)_/¯
Думает: "ага, это сахар, тут скоуп. Вот этот пример легко запомнить, запомню. Корнер кейсы нахуй, почитаю это страницу снова, если буду сомневаться"
Так там все написано, в частности что идет биндинг в скоупе на &&, остается только узнать когда auto&& и auto const& можно писать
источник