Версия ядра

fsmoke
fsmoke

Я честно говоря не читал ещё, что там по 20ке. И к сожалению(может меня подводит уставший мозг) я не нашел поиска по предложениям на этом сайте, что очень неудобно. Возможно кто-то это уже предлагал. Но всё же я хочу высказать своё мнение: Доколе мы будем писать портянки условной компиляции, учитывая всевозможные компиляторы и их версии - не пора бы уже ввести какие нибудь человеческие макросы для определения версии стандарта. 

Какой нибудь __CPPSTD_VERSION__ или что нибудь типа того. Я понимаю, что многие компиляторы не поддерживают стандарт целиком или уже начинают поддерживать фичи не принятого ещё стандарта, но я считаю, что всё равно нам этой проблемой стоит подумать. Например, эти макросы можно расширять по названиям ключевых нововведений, которые также прописаны в стандарте, а когда компилятор доходит до абсолютной готовности соответсвия тому или иному стандарту, то может задефайнить только __CPPSTD_VERSION__. А писатели библиотек соответсвенно будут чекать либо её либо конкретные отдельные фичи. По крайней мере всякие config.hpp будут меньше и больше вероятность, что это всё взлетит на каких нибудь малоизвестных компиляторах(при условии что они более менее следуют стандарту).

 

PS
Я не знаю куда написать(письмом??...) по данному ресурсу - т.к. на сайте обратной связи я тоже не нашел, а так хотелось написать про отсутствие поиска. Конечно можно искать из поисковиков на данном сайте :), но согласитесь - это не то...

0
рейтинг
2 комментария
yndx-antoshkka
Версию стандарта можно узнать из макроса __cplusplus en.cppreference.com/w/cpp/preprocessor/replace и это есть в стандарте уже давно.

Поддержку отдельных фич можно получить из feature testing macro en.cppreference.com/w/User:D41D8CD98F/feature_testing_macros

Вот тут open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0835r0.html идёт работа по включению feature testing macro в стандарт (все современные компиляторы и так их используют)
yndx-antoshkka
zamazan4ik@tut.by
Кстати вроде как идут разговоры о заголовочном файле <version>, который будет содержать полезную информацию.
zamazan4ik@tut.by
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).