Комментарии 13
Можно было бы использовать какой нибудь rolling дистрибутив, типа Arch Linux, и там было бы все из коробки. Статья бы свелась только к пункту 8)
в арче вроде как gcc 14 еще
Тут есть 15.1.0
Docker Official Image packaging for gcc:
https://github.com/docker-library/gcc
https://hub.docker.com/_/gcc/
В snapshot'ах GCC 15.0.1 уже вроде как начали работать модули import std; Перекатился на GCC 15.1 - модули стали говорить, что я у себя в коде переопределяю std::format. Увы, придётся откатываться в зад как было.
if (auto [A, B] = S)
Уж очень сомнительное нововведение. Я не глядя в стандарт не сразу понял, как это работает.
Кто-нибудь может подсказать, какую проблему решает "Feature 4: Constexpr Placement New" ?
Я не могу придумать, зачем в constexpr какие-то хитрости с выделением памяти и размещающим new, если оно отрабатывает при компиляции и в конечном коде только результат этой фукнции будет.
Чтобы было. Я так понял, комитет хочет всё в компайлтайме разрешить, чтобы разрабы голову не ломали, что можно, а что нельзя.
Лучше бы аннотацию к классу добавили, чтобы везде constexpr не расписывать по аналогии с final.
class Class constexpr {...};
struct Struct constexpr {...};Позволяет "втащить" контейнеры stdlib в constexpr процедуры.
Кстати, справедливости ради - в gcc-14 (14.2.0) наличествует опция -std=c++26 (и -std=gnu++26), маркированная как "highly experimental", так что можно поиграться с С++ 26 уже с ним - а gcc14 есть в репозиториях Убунту "из коробки".
Правда, указывать его придётся явно, как gcc14 - или инсталлироваль alternatives, как указано в статье.

Переходим на C++26: как собрать и настроить GCC 15.1 в Ubuntu