Сообщение Re[5]: Templates от 04.07.2018 13:54
Изменено 04.07.2018 14:07 AlexGin
Re[5]: Templates
Здравствуйте, lpd, Вы писали:
lpd>Можно привести большой список того, что нужно уметь квалифицированному программисту, и в нем будет множество гораздо более важных вещей, чем шаблоны или C++17.
IMHO, cтранная точка зрения. Но ваше право — продолжать придерживаться ли её, или же прозреть...
lpd>Как раз логика 'лучший программист лучше знает язык программирования' звучит несколько сферично. А на практике практикующий программист C++ получит больше от изучения баз данных, устройства ОС и электроники...
В наше время есть понятие: разделение труда...
lpd>...когда он это изучит, для проекта будет важнее архитектура кода, который он пишет, чем использование сложных шаблонов или других фич C++17.
Фичи языка — это твои друзья, а НЕ враги!
Кстати, открою тебе маленький секрет — применение конструкции if constexpr из набора C++17 —
позволяет работать с шаблонами удобнее, чем раньше
Пример:
Архитектура кода — только выигрывает от применения современных возможностей языков программирования.
Так, применение приведенного выше метода, позволит тебе забыть о трудно-понимаемом SFINAE
lpd>Для программиста C++ главное вовсе не C++.
Хорошо, перефразирую твоё выражение так:
— Для хирурга — главное вовсе не умение оперировать.
...а теперь представь, что ты пациент именно этого врача...
lpd>Можно привести большой список того, что нужно уметь квалифицированному программисту, и в нем будет множество гораздо более важных вещей, чем шаблоны или C++17.
IMHO, cтранная точка зрения. Но ваше право — продолжать придерживаться ли её, или же прозреть...
lpd>Как раз логика 'лучший программист лучше знает язык программирования' звучит несколько сферично. А на практике практикующий программист C++ получит больше от изучения баз данных, устройства ОС и электроники...
В наше время есть понятие: разделение труда...
lpd>...когда он это изучит, для проекта будет важнее архитектура кода, который он пишет, чем использование сложных шаблонов или других фич C++17.
Фичи языка — это твои друзья, а НЕ враги!
Кстати, открою тебе маленький секрет — применение конструкции if constexpr из набора C++17 —
позволяет работать с шаблонами удобнее, чем раньше
Пример:
template <typename C>
void print (const C &c)
{
if constexpr (std::is_same_v<C, std::vector<int>>) {
cout << "vector<int>: ";
}
if constexpr (std::is_same_v<C, std::list<int>>) {
cout << "list<int>: ";
}
if constexpr (std::is_same_v<C, std::deque<int>>) {
cout << "deque<int>: ";
}
for (auto i : c)
{
cout << i << ", ";
}
cout << '\n';
}
Архитектура кода — только выигрывает от применения современных возможностей языков программирования.
Так, применение приведенного выше метода, позволит тебе забыть о трудно-понимаемом SFINAE
lpd>Для программиста C++ главное вовсе не C++.
Хорошо, перефразирую твоё выражение так:
— Для хирурга — главное вовсе не умение оперировать.
...а теперь представь, что ты пациент именно этого врача...
Re[5]: Templates
Здравствуйте, lpd, Вы писали:
lpd>Можно привести большой список того, что нужно уметь квалифицированному программисту, и в нем будет множество гораздо более важных вещей, чем шаблоны или C++17.
IMHO, cтранная точка зрения. Но твоё право — продолжать придерживаться ли её, или же прозреть...
lpd>Как раз логика 'лучший программист лучше знает язык программирования' звучит несколько сферично. А на практике практикующий программист C++ получит больше от изучения баз данных, устройства ОС и электроники...
В наше время есть понятие: разделение труда...
lpd>...когда он это изучит, для проекта будет важнее архитектура кода, который он пишет, чем использование сложных шаблонов или других фич C++17.
Фичи языка — это твои друзья, а НЕ враги!
Кстати, открою тебе маленький секрет — применение конструкции if constexpr из набора C++17 —
позволяет работать с шаблонами удобнее, чем раньше!!!
Вот простой пример:
Архитектура кода — только выигрывает от применения современных возможностей языков программирования.
Так, применение приведенного выше метода, позволит тебе забыть о трудно-понимаемом SFINAE
lpd>Для программиста C++ главное вовсе не C++.
Хорошо, перефразирую твоё выражение так:
— Для хирурга — главное вовсе не умение оперировать.
...а теперь представь, что ты пациент именно этого врача...
lpd>Можно привести большой список того, что нужно уметь квалифицированному программисту, и в нем будет множество гораздо более важных вещей, чем шаблоны или C++17.
IMHO, cтранная точка зрения. Но твоё право — продолжать придерживаться ли её, или же прозреть...
lpd>Как раз логика 'лучший программист лучше знает язык программирования' звучит несколько сферично. А на практике практикующий программист C++ получит больше от изучения баз данных, устройства ОС и электроники...
В наше время есть понятие: разделение труда...
lpd>...когда он это изучит, для проекта будет важнее архитектура кода, который он пишет, чем использование сложных шаблонов или других фич C++17.
Фичи языка — это твои друзья, а НЕ враги!
Кстати, открою тебе маленький секрет — применение конструкции if constexpr из набора C++17 —
позволяет работать с шаблонами удобнее, чем раньше!!!
Вот простой пример:
template <typename C>
void print (const C &c)
{
if constexpr (std::is_same_v<C, std::vector<int>>) {
cout << "vector<int>: ";
}
if constexpr (std::is_same_v<C, std::list<int>>) {
cout << "list<int>: ";
}
if constexpr (std::is_same_v<C, std::deque<int>>) {
cout << "deque<int>: ";
}
for (auto i : c)
{
cout << i << ", ";
}
cout << '\n';
}
Архитектура кода — только выигрывает от применения современных возможностей языков программирования.
Так, применение приведенного выше метода, позволит тебе забыть о трудно-понимаемом SFINAE
lpd>Для программиста C++ главное вовсе не C++.
Хорошо, перефразирую твоё выражение так:
— Для хирурга — главное вовсе не умение оперировать.
...а теперь представь, что ты пациент именно этого врача...