The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"В компиляторе G++ обеспечена поддержка C++17"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для сортировки сообщений в нити по дате нажмите "Сортировка по времени, UBB".
. "В компиляторе G++ обеспечена поддержка C++17" +1 +/
Сообщение от all_glory_to_the_hypnotoad (ok), 14-Янв-17, 18:33 

>[оверквотинг удален]
>         int aa;
>     };
>     SameAs::SameAs(int a)
>         : aa(a)
>     {
>     }
>     bool SameAs::operator==(int b)
>     {
>         return a == b;
>     }

Так делают только законченные д..бы, в подобных случаях не нужно отделять реализацию от определения. И вообще задача выше и до лямбд не предлавляла проблемы, практически любой проект имел кучу утиля для типовых предикатов и компараторов на темплейтах вроде

template<typename Type> class SameAs {
   SameAs(Type val): Val(val) { }

   bool operator==(const Type &val) const { reutrn val == val; }
private:
   Type Val;
};


>     std::vector<int> GenerateData();
> вместо
>     void GenerateData(std::vector<int>& result);
> благодаря move-семантике.

RVO/NRVO существуют уже достаточно давно и move семантика тут абсолютно ни при чем. А если хватит ума вхерачить явный move в реализации GenerateData(), то поломаешь NVRO и наплодишь ненужный move.

> Да долго всякие упрощения перечислять можно.

Все твои "урощения" не в тему, кроме мудотни с итераторами. Хотя с упрощениями даже этого делать не обязательно, в большинстве случаев хватает range-based for loop.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
В компиляторе G++ обеспечена поддержка C++17, opennews, 13-Янв-17, 09:58  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру