LINUX.ORG.RU

История изменений

Исправление dissident, (текущая версия) :

Гы, столько лет тут не был, а ничего не поменялось. Зачем так сраться из-за всего лишь языка программирования.

По поводу don't use auto (а don't use auto return types - это подмножество холивара don't use auto at all, по крайней мере я такое слышал от одного молодого преподавателя), это же уже тот же Майерс объяснял, например тут:

https://youtu.be/J-tA17slViE?t=413

С примерами:

map<string,int> m;
for (std::pair<std::string, int>& p : wordCount) {
    // создает копию пары
}

так как надо было (или с auto):

for (const std::pair<const std::string, int>& p : wordCount) {
    // не создает
}

Или вот:

auto f = [](){...} // не создает копии, занимает меньше места
function<void(void)> f = [](){...} // наоборот

В линке на youtube больше примеров.

А decltype после стрелочки был нужен в C++11 где нельзя было использовать auto return type. Использовать такой или другой синтаксис - это как я понимаю дело вкуса, coding guidance'а или религиозный убеждений (тип можно посмотреть в IDE, например).

И так далее. Т.е. большинство решило за auto, так что холивор не имеет смысла. Просто теперь такой язык. Меня интересовал синтаксис и ответы я получил, спасибо!

Исправление dissident, :

Гы, столько лет тут не был, а ничего не поменялось. Зачем так сраться из-за всего лишь языка программирования.

По поводу don't use auto (а don't use auto return types - это подмножество холивара don't use auto at all, по крайней мере я такое слышал от одного молодого преподавателя), это же уже тот же Майерс объяснял, например тут:

https://youtu.be/J-tA17slViE?t=413

С примерами:

map<string,int> m;
for (std::pair<std::string, int>& p : wordCount) {
    // создает копию пары
}

так как надо было (или с auto):

for (const std::pair<const std::string, int>& p : wordCount) {
    // не создает
}

Или вот:

auto f = [](){...} // не создает копии, занимает меньше места
function<void(void)> f = [](){...} // наоборот

В линке на youtube больше примеров.

А decltype после стрелочки был нужен в C++11 где нельзя было использовать auto return type. Использовать такой или другой синтаксис - это как я понимаю дело вкуса, coding guidance'а или религиозный убеждений (тип можно посмотреть в IDE, например).

И так далее. Т.е. в большинство решило за auto, так что холивор не имеет смысла. Просто теперь такой язык. Меня интересовал синтаксис и ответы я получил, спасибо!

Исходная версия dissident, :

Гы, столько лет тут не был, а ничего не поменялось. Зачем так сраться из-за всего лишь языка программирования.

По поводу don't use auto (а don't use auto return types - это подмножество холивара don't use auto at all, по крайней мере я такое слышал от одного молодого преподавателя), это же уже тот же Майерс объяснял, например тут:

https://youtu.be/J-tA17slViE?t=413

С примерами:

map<string,int> m;
for (std::pair<std::string, int>& p : wordCount) {
    // создает копию пары
}

так как надо было (или с auto):

for (const std::pair<const std::string, int>& p : wordCount) {
    // не создает
}

Или вот:

auto f = [](){...} // не создает копии, занимает меньше места function<void(void)> f = [](){...} // наоборот

В линке на youtube больше примеров.

А decltype после стрелочки был нужен в C++11 где нельзя было использовать auto return type. Использовать такой или другой синтаксис - это как я понимаю дело вкуса, coding guidance'а или религиозный убеждений (тип можно посмотреть в IDE, например).

И так далее. Т.е. в большинство решило за auto, так что холивор не имеет смысла. Просто теперь такой язык. Меня интересовал синтаксис и ответы я получил, спасибо!