The OpenNET Project / Index page

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



"Утверждён стандарт C++26"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Утверждён стандарт C++26"  +/
Сообщение от opennews (??), 30-Мрт-26, 14:02 
Комитет ISO по стандартизации языка C++ завершил утвердил финальным вариант спецификации, образующей международный стандарт "C++26". Представленные в спецификации возможности частично уже  поддерживаются в  компиляторах  GCC, Clang и Microsoft Visual C++. Поддерживающие C++26 стандартные библиотеки реализованы в рамках проекта Boost...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=65102

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

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Утверждён стандарт C++26"  +1 +/
Сообщение от Аноним (1), 30-Мрт-26, 14:02 
Экзекуторы добавили!!! Класс!!
Ответить | Правка | Наверх | Cообщить модератору

56. "-"  +/
Сообщение от Judge Dredd (-), 30-Мрт-26, 15:53 
> Экзекуторы добавили!!! Класс!!

- Виновен. Ваш автомобиль будет конфискован.
(booom!)
- Приговор приведен в исполнение.

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

2. "Утверждён стандарт C++26"  –1 +/
Сообщение от mos87 (ok), 30-Мрт-26, 14:10 
Что там по БЕЗО работы с памятью?
Ответить | Правка | Наверх | Cообщить модератору

3. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (-), 30-Мрт-26, 14:10 
> Представленные в спецификации возможности частично уже поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++.

И что характерно НИ ОДИН из компиляторов не поддерживает стандарт полностью!

library features так вообще - поддерживаемых почти сколько же сколько не поддерживаемых.

Простите, а это компилятор чего?
Точно С++26, а не какого-то сабсета недоязыка?

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

10. "Утверждён стандарт C++26"  +/
Сообщение от Bottle (?), 30-Мрт-26, 14:20 
А всё благодаря великолепным правилам из разряда "А на этой платформе можно точность другую у интов взять", "Мы будем игнорировать существование #pragma once, гнутых расширений и кланговских, давайте вместо этого ещё что-нибудь из Boost потырим в стандарт за триста франков", "плевать, что в сишке есть restrict, нам не нужна производительность и совместимость в плюсах".
Ответить | Правка | Наверх | Cообщить модератору

26. "Утверждён стандарт C++26"  –1 +/
Сообщение от Аноним (-), 30-Мрт-26, 14:37 
Да, то что "можно точность другую у интов взять" это еще ладно.
Если бы в стандарте были только "implementation-defined" с конечным списком вариантов, то было бы ок.

А вот то, что каждый компилятор может выкинуть какие-то фичи, это вообще бред.
Если оставить только 2-3 core language features, это всё еще С++? А если оставить одну?))
Оно ж называется CORE language features, как их можно не реализовывать?

> "плевать, что в сишке есть restrict, нам не нужна производительность и совместимость в плюсах".

СИшка это такой же кусок kalʼа)
Там точно так же не обязаны реализовывать стандарт полностью.

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

28. "Утверждён стандарт C++26"  +/
Сообщение от oficsu (ok), 30-Мрт-26, 14:46 
> Оно ж называется CORE language features, как их можно не реализовывать?

Core language feature означает вовсе не то, о чём вы подумали. Это лишь способ назвать категорию фич, которые (как правило) нереализуемы библиотечно. Те, которые непосредственно про языковую семантику, а не про надстройки, доступные пользователю

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

15. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (15), 30-Мрт-26, 14:27 
https://github.com/intel/llvm?tab=readme-ov-file#oneapi-dpc-...
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

17. "Утверждён стандарт C++26"  +6 +/
Сообщение от oficsu (ok), 30-Мрт-26, 14:27 
Стандарт всегда выходит раньше, чем его поддерживают реализации. Потому что прежде чем делать компилятор, нужно сначала всем собраться вместе и договориться, что делать и как именно. И эту роль как раз и выполняет стандартизация
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

32. "Утверждён стандарт C++26"  +1 +/
Сообщение от Аноним (32), 30-Мрт-26, 15:01 
> Стандарт всегда выходит раньше, чем его поддерживают реализации.

Это понятно. Плюс на имплементацию нужно время.
Но не понятно почему gcc и шланг не поддерживют фичи не то что с++23, а даже с++20.
Да и более старые тоже.

GCC не поддерживает
"Omitting/extending memory allocations" из C++14 core
[[carries_dependency]] из C++11 core
Что-то вроде есть, но partial.

Шланг - аналогично, но другие штуки.
en.cppreference.com/w/cpp/compiler_support.html

Времени не хватило? С 2011 года))
Или "стандарт" такой что на него можно класть болтяру, даже на core?

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

54. "Утверждён стандарт C++26"  +/
Сообщение от oficsu (ok), 30-Мрт-26, 15:40 
> GCC не поддерживает
> "Omitting/extending memory allocations" из C++14 core

Этот пропозал уточняет вординг стандарта и не обязывает компиляторы менять что-либо. Он расширяет свободу компиляторов, а не сужает. Так что данный пропозал не "не поддерживается", а попросту неприменим к GCC. Именно поэтому там N/A

> [[carries_dependency]] из C++11 core

Это атрибут. Атрибуты специально дизайнились как опциональные игнорируемые фичи. Атрибут допустимо объявить поддерживаемым, если компилятор его просто игнорирует. Так в этом случае поступил, например, clang — единственный, для кого есть метка о поддержке

Пользователь же никогда на него не мог завязываться, а потому и не может пострадать от отсутствия поддержки. Эта фича как раз была полностью удалена из стандарта в C++26

Да, в стандарт иногда попадают неудачные фичи, которые на деле оказываются или сложными, или непродуманными, или, как эта, бессмысленными

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

4. "Утверждён стандарт C++26"  +6 +/
Сообщение от Анонимemail (4), 30-Мрт-26, 14:11 
> Добавлены новые операторы "^^" для получения метаинформации о грамматической конструкции и "[:…:]"

И вот после этого кто-то будет называть раст не читаемым....

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

13. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (13), 30-Мрт-26, 14:26 
Относитесь к этому как к бреду. Я так уже давно делаю.
Ответить | Правка | Наверх | Cообщить модератору

39. "Утверждён стандарт C++26"  –2 +/
Сообщение от Аноним (39), 30-Мрт-26, 15:12 
Я тоже отношусь к расту как к бреду
Ответить | Правка | Наверх | Cообщить модератору

5. "Утверждён стандарт C++26"  +1 +/
Сообщение от Аноним (5), 30-Мрт-26, 14:12 
Вот теперь точно пора ливать из C++. Непонятно как все это удерживать в голове и при этом решать задачу предметной области. Поскорее бы zig до ума довели, ибо zig + go хватит всем.
Ответить | Правка | Наверх | Cообщить модератору

9. "Утверждён стандарт C++26"  +2 +/
Сообщение от Ананоним (?), 30-Мрт-26, 14:20 
Просто поинтересуйся на каком стандарте пишут компилятор сами разработчики новых компиляторов. По секрету для тебя: на очень старом, а нововведения всё для тебя, дорогой. Чтобы ты боролся с надуманными проблемами, а не использовал простой язык, на котором всё можно было писать вполне успешно и эффективно ещё 20 лет назад.
Ответить | Правка | Наверх | Cообщить модератору

14. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (5), 30-Мрт-26, 14:26 
>поинтересуйся на каком стандарте пишут компилятор

Это уже не мои проблемы

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

30. "Утверждён стандарт C++26"  +/
Сообщение от Сладкая булочка (?), 30-Мрт-26, 14:55 
> Просто поинтересуйся на каком стандарте пишут компилятор сами разработчики новых компиляторов.

llvm на 17.

> ещё 20 лет назад.

Да, с арифметикой у экспертов туго. Не удивительно, что они что-то бормочат про невозможность сложить два знаковы инта в си.

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

31. "Утверждён стандарт C++26"  +1 +/
Сообщение от Аноним (32), 30-Мрт-26, 14:55 
> По секрету для тебя: на очень старом, а нововведения всё для тебя, дорогой.

Вранье же!

LLVM subprojects are primarily written using C++17
И уже мигрируют на с++20
discourse.llvm.org/t/rfc-raise-the-minimum-compiler-requirements-to-move-toward-c-20/88894

Просто компилятор должен компилится компилятором, который есть в дистре.
А дистры очень часто поставляют тухляк.
Если бы дистры не тупили так сильно, то можно было бы и кодовую базу компиляторов переводить на современные стандарты.

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

21. "Утверждён стандарт C++26"  –1 +/
Сообщение от Аноним (21), 30-Мрт-26, 14:30 
На то и расчитано что разрабы разбегутся.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

45. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (45), 30-Мрт-26, 15:22 
Большую часть из этого вам *обычно* будет не нужна. Но *в некоторых* ситуациях это может очень даже пригодиться. Так что расслабьтесь, не надо - не пользуйтесь и не забивайте голову.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

6. "Утверждён стандарт C++26"  +2 +/
Сообщение от Bottle (?), 30-Мрт-26, 14:13 
По классике жанра: а что там с модулями?
Что-нибудь продвинулось? Судя по табличке с cppreference.com воз и ныне там.
Ответить | Правка | Наверх | Cообщить модератору

27. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (27), 30-Мрт-26, 14:44 
Модули же приняли ещё в C++20.
Ответить | Правка | Наверх | Cообщить модератору

33. "Утверждён стандарт C++26"  +/
Сообщение от адын2 (?), 30-Мрт-26, 15:01 
именно
Ответить | Правка | Наверх | Cообщить модератору

44. "Утверждён стандарт C++26"  +/
Сообщение от anon5989517240 (?), 30-Мрт-26, 15:18 
Вообще они уже работают в достаточной мере чтобы на них переезжать

https://www.youtube.com/watch?v=fZrDG_he9sE

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

48. Скрыто модератором  +/
Сообщение от Аноним (45), 30-Мрт-26, 15:25 
Ответить | Правка | Наверх | Cообщить модератору

7. Скрыто модератором  +1 +/
Сообщение от Аноним (-), 30-Мрт-26, 14:16 
Ответить | Правка | Наверх | Cообщить модератору

8. "Утверждён стандарт C++26"  –1 +/
Сообщение от Аноним (8), 30-Мрт-26, 14:18 
Может кто-то что-то понимает в современных C++, а я уже нет.
Ответить | Правка | Наверх | Cообщить модератору

12. "Утверждён стандарт C++26"  +1 +/
Сообщение от Аноним (13), 30-Мрт-26, 14:25 
Достаточно Страуструпа (последнее издание). Остальное от лукавого.
Ответить | Правка | Наверх | Cообщить модератору

42. Скрыто модератором  +/
Сообщение от Аноним (42), 30-Мрт-26, 15:13 
Ответить | Правка | Наверх | Cообщить модератору

46. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (15), 30-Мрт-26, 15:24 
https://intel.github.io/llvm/
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

11. "Утверждён стандарт C++26"  +/
Сообщение от Ананоним (?), 30-Мрт-26, 14:24 
Кто-нибудь здесь знает, появились ли уже трансляторы так называемых современных версий C++ в, например, C++03?
Ответить | Правка | Наверх | Cообщить модератору

16. "Утверждён стандарт C++26"  +2 +/
Сообщение от Ананоним (?), 30-Мрт-26, 14:27 
Язык превращают в какого-то монстра-уродца.
Ответить | Правка | Наверх | Cообщить модератору

20. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (13), 30-Мрт-26, 14:30 
Психика дороже.
Ответить | Правка | Наверх | Cообщить модератору

18. Скрыто модератором  +/
Сообщение от Аноним (-), 30-Мрт-26, 14:27 
Ответить | Правка | Наверх | Cообщить модератору

19. "Утверждён стандарт C++26"  +1 +/
Сообщение от Аноним (21), 30-Мрт-26, 14:28 
Котелок не вари!
Ответить | Правка | Наверх | Cообщить модератору

22. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (22), 30-Мрт-26, 14:33 
> Внесены изменения для усиления безопасности стандартной библиотеки, такие как проверки допустимых значений и выхода за границы буфера. Например, при доступе к элементу "constexpr reference operator[](size_type idx) const;" добавляется проверка условия "idx < size()".

Дамы и господа, свершилось!

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

25. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (21), 30-Мрт-26, 14:36 
А зачем оно в стандартной библиотеке? Тебе нужно и проверяй.
Ответить | Правка | Наверх | Cообщить модератору

35. "Утверждён стандарт C++26"  +/
Сообщение от anon5989517240 (?), 30-Мрт-26, 15:02 
Затем что баги с границами контейнеров возникают систематически, а если включить проверку по-умолчанию то в худшем случае перф просядет гдет на 1%. Но обычно еще меньше

> The hardened standard library provides initial cross-platform library security guarantees, including bounds safety for dozens of the most widely used bounded operations on common standard types, including vector, span, string, string_view, and more. For details, see my February 2025 trip report and run (don’t walk) to read the November 2025 ACM Queue article “Practical Security in Production: Hardening the C++ Standard Library at Massive Scale” to learn how this is already deployed across Apple platforms and Google services, hundreds of millions of lines of code, with on average 0.3% (a fraction of 1%) performance overhead.

https://herbsutter.com/2026/03/29/c26-is-done-trip-report-ma.../

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

23. "Утверждён стандарт C++26"  +1 +/
Сообщение от Аноним (23), 30-Мрт-26, 14:33 
Ну весь D уже перетянули к себе? Что ж, было бы неплохо, если бы плюсы каким-то уже перегруженными не были.
Ответить | Правка | Наверх | Cообщить модератору

24. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (24), 30-Мрт-26, 14:34 
Жаль, что не завезли profiles, которые предлагал Строуструп.
Ответить | Правка | Наверх | Cообщить модератору

37. "Утверждён стандарт C++26"  +/
Сообщение от anon5989517240 (?), 30-Мрт-26, 15:07 
Ага, обидно прям. Вроде как перенесли на с++ 29
Ответить | Правка | Наверх | Cообщить модератору

29. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (27), 30-Мрт-26, 14:53 
> Добавлена поддержка рефлексии (Reflection), позволяющей отслеживать и модифицировать элементы программы на стадии компиляции.
> Добавлен оператор "template for" для перебора элементов, таких как пакеты параметров, похожие на кортежи объекты и результаты рефлексии (метаобъекты), на этапе компиляции в стиле обычного цикла.

Теперь-то достаточно языковых средств, чтобы разработчики Qt могли ими заменить свой Meta-Object Compiler (moc) ?

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

38. "Утверждён стандарт C++26"  +/
Сообщение от anon5989517240 (?), 30-Мрт-26, 15:10 
На самом деле не факт - смотря как они решат реализовывать.

В рамках текущей рефлексии работает интроспекция только для структур данных и функций, но она например пока не позволяет достаточно гибко генерировать код методов (насколько я понимаю) так что если Qt и начнет перетаскивать moc туда то или не весь, или будут ждать с++29 😒

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

55. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (45), 30-Мрт-26, 15:44 
> Теперь-то достаточно языковых средств, чтобы разработчики Qt могли ими заменить свой Meta-Object Compiler (moc) ?

https://www.qt.io/blog/c26-reflection-qrangemodel

> The obvious question is then if and how we plan to use C++26 reflections to replace moc. I have not done a feature-by-feature comparison between the meta object data we need to generate, and what we can get out of std::meta; but it seems that we can make the C++ compiler do much of the work that moc does. The biggest challenge might be the signals: and slots: member function blocks; we might have to annotate every function separately.

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

36. "Утверждён стандарт C++26"  +1 +/
Сообщение от iPony128052 (?), 30-Мрт-26, 15:05 
> Добавлена поддержка рефлексии (Reflection)

Даже не верится... Сколько лет ждал.

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

40. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (40), 30-Мрт-26, 15:12 
> Реализованы тривиальные бесконечные циклы
> без неопределенного поведения.

Ахаха! Ну надо же!
Оказывается могут когда хотят))
Всего лишь 40 лет понадобилось.

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

41. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (1), 30-Мрт-26, 15:13 
Великий и ужасный 26
Ответить | Правка | Наверх | Cообщить модератору

43. "Утверждён стандарт C++26"  +/
Сообщение от Христианинemail (?), 30-Мрт-26, 15:17 
Во имя ОтцаиСынаиСвятагоДуха.
Скажите: а смысл в таких новшествах ?
Раньше вместо пре - был конструктор
вместо пост - деструктор
Но я давно не в теме.
Ответить | Правка | Наверх | Cообщить модератору

47. "Утверждён стандарт C++26"  +/
Сообщение от anon5989517240 (?), 30-Мрт-26, 15:25 
Конструктор и деструктор можно только к объекту применить,
а эти проверки можно к аргументам отдельных функций привязывать - эт в других кейсах нужно.

Плюс там можно гибко вырезать из компиляции эти проверки если надо.

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

50. "Утверждён стандарт C++26"  +/
Сообщение от Христианинemail (?), 30-Мрт-26, 15:35 
СпасиБог что не прошли мимо.
Я это понимаю, но неужели нельзя предусмотреть в объявлении класса ?
Для каких целей нужен новый инструмент
Разрешение использования _ - действительно полезная вещь
Ответить | Правка | Наверх | Cообщить модератору

51. "Утверждён стандарт C++26"  +/
Сообщение от Христианинemail (?), 30-Мрт-26, 15:37 
вернее в реализации класса ?
Давно отстал от темы.
Сдавал плюсы в начале нулевых на хорошо -4.
Ныне в Белоруссии 10балльная система оценок.
учителям больше чем пятибальная нравится
Ответить | Правка | Наверх | Cообщить модератору

52. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (45), 30-Мрт-26, 15:37 
Вы путаете конструкторы/деструкторы (которые про инициализацию и освобождение ресурсов) и пре/постусловия (которые про состояние программы в данный момент времени).
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

49. Скрыто модератором  +/
Сообщение от НяшМяш (ok), 30-Мрт-26, 15:29 
Ответить | Правка | Наверх | Cообщить модератору

53. "Утверждён стандарт C++26"  –1 +/
Сообщение от Аноним (53), 30-Мрт-26, 15:39 
Сколько раз еще С++ нужно жахнуть дефибриллятором?
Ответить | Правка | Наверх | Cообщить модератору

57. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (57), 30-Мрт-26, 16:03 
>Комитет ISO по стандартизации языка C++ завершил утвердил финальным вариант спецификации

Автору топика тоже следует:
>будет проведена работа по редакторской правке орфографических ошибок и опечаток.

А вообще: спасибо за топик.

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

58. "Утверждён стандарт C++26"  +/
Сообщение от Аноним (58), 30-Мрт-26, 16:03 
Теперь компилироваться будет ещё дольше.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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