Информация об изменениях

Сообщение Вышел GCC 7.1 от 03.05.2017 15:07

Изменено 04.05.2017 20:03 Шахтер

Вышел GCC 7.1
здесь

С++17

Буду пробовать...

Upd.

Ну, вроде работает. Ничего не поломали. Концепты тоже работают. Будем пробовать новые фичи.

--- inline variables ---

inline int CommonInt = 100 ;


Теперь можно инлайнить не только функции, но и переменные. Т.е. подобная декларация может быть включена в несколько единиц трансляции (например, через заголовок) без нарушения ODR.
Вышел GCC 7.1
здесь

С++17

Буду пробовать...

Upd.

Ну, вроде работает. Ничего не поломали. Концепты тоже работают. Будем пробовать новые фичи.

--- inline variables ---

inline int CommonInt = 100 ;


Теперь можно инлайнить не только функции, но и переменные. Т.е. подобная декларация может быть включена в несколько единиц трансляции (например, через заголовок) без нарушения ODR.

--- Вывод типов для шаблонов классов ---

Теперь можно сделать удобный scope guard.

template <FuncArgType<> Func>
class ScopeGuard : NoCopy
 {
   Func func;

  public:

   explicit ScopeGuard(const Func &func_) : func(func_) {}

   ~ScopeGuard()
    {
     func();
    }
 };


  int x=12345;

  {
   ScopeGuard guard( [&x] () { x=0; } );

   Printf(Con,"#;\n",x);
  }

  Printf(Con,"#;\n",x);