История изменений
Исправление 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, так что холивор не имеет смысла. Просто теперь такой язык. Меня интересовал синтаксис и ответы я получил, спасибо!