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.me/opennews/art.shtml?num=65102

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

Оглавление

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10, #15, #17

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13, #65, #91

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

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

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

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

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

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

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

12. Сообщение от Аноним (13), 30-Мрт-26, 14:25   +3 +/
Достаточно Страуструпа (последнее издание). Остальное от лукавого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #42, #88

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #25, #129

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #28

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #38, #55

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

llvm на 17.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #93

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

Вранье же!

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

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

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

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

Это понятно. Плюс на имплементацию нужно время.
Но не понятно почему 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ообщить модератору
Родитель: #17 Ответы: #54

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

35. Сообщение от anon5989517240 (?), 30-Мрт-26, 15:02   +2 +/
Затем что баги с границами контейнеров возникают систематически, а если включить проверку по-умолчанию то в худшем случае перф просядет гдет на 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ообщить модератору
Родитель: #25

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #64, #105

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

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

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

44. Сообщение от anon5989517240 (?), 30-Мрт-26, 15:18    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #48

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #50

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

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

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #138

55. Сообщение от Аноним (45), 30-Мрт-26, 15:44   +1 +/
> Теперь-то достаточно языковых средств, чтобы разработчики 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.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #133

56. Сообщение от Judge Dredd (-), 30-Мрт-26, 15:53    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

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

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

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

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

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

59. Сообщение от funny.falcon (?), 30-Мрт-26, 16:05   +/
Товарищ именно на таком стэке и остановился.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

60. Сообщение от Аноним (93), 30-Мрт-26, 16:06   +/
>больше чем пятибальная нравится

Дольше за оценку можно торговаться.

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

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

62. Сообщение от Аноним (62), 30-Мрт-26, 16:09   +/
Чем этот синтаксический сахар лучше обычных древнейших ассертов и статикассертов?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #67, #125, #126

63. Сообщение от Аноним (93), 30-Мрт-26, 16:15   –3 +/
и что хорошего в самоизменении программы? Купил одно, а через год оно превратилось в кирпич (а то и нечто похуже).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #83

64. Сообщение от Аноним (93), 30-Мрт-26, 16:18   +/
Разве трудно самому реализовать отсутствие неопределенности из-за цикла?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

65. Сообщение от Аноним (65), 30-Мрт-26, 16:23   +/
Эти конструкции для очень продвинутого/глубокого метапрограммирования. Для написания библиотек уровня Boost или Qt. Наверное, в 90% случаев встречаться не будут. А в этом вашем Раст поток подобных символов в обычных прикладных программах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #102

66. Сообщение от Аноним (74), 30-Мрт-26, 16:31   +/
>Поддерживающие C++26 стандартные библиотеки реализованы в рамках проекта Boost.

Сам неплю-сист. А разве у си плю-плюсников не шаблоны и классы? Библиотеки же у чистого Си?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #71, #77

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

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

69. Сообщение от kravich (ok), 30-Мрт-26, 16:33   +1 +/
Наконец-то хоть кто-то это нормально сформулировал
Секрет успешного использования C++ - в самоограничениях
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #123

70. Сообщение от Аноним (74), 30-Мрт-26, 16:35    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #78

71. Сообщение от Аноним (71), 30-Мрт-26, 16:35   +/
Нет. Это вообще ортогональные вещи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

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

73. Сообщение от Фанат (?), 30-Мрт-26, 16:37   +2 +/
Хорошо потрудились, с каждым стандартом код получается лаконичнее и понятнее.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #82, #86, #95, #100

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

75. Сообщение от Bottle (?), 30-Мрт-26, 16:41    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

76. Сообщение от Ананоним (?), 30-Мрт-26, 16:46   +1 +/
>> Добавлена директива "#embed", предназначенная для встраивания в код бинарных ресурсов.
> наконец-то хоть что-то полезное!

Полезное? Очень сомнительно. Для чего тащить в язык то, чему место в linker-е? И о, внезапно, это давно реализовано там. Но редактор связей это немодно, старо и немолодёжно, надо любую гадость тащить в язык, потому что в других недоязыках такое есть. Хехе, верной дорогой идёте....

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

77. Сообщение от Аноним (65), 30-Мрт-26, 16:48   +/
Библиотеки могут быть: функций, классов, шаблонов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

78. Сообщение от Ананоним (?), 30-Мрт-26, 16:52   +/
> Страуструп. Пиши правльно.

Проверил с помощью ИИ, ты тоже неправильно пишешь. Правильно так:
"Страус - труп. Пиши правльно."

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

79. Сообщение от Аноним83 (?), 30-Мрт-26, 16:53   +/
А сколько гениев в мире знают все эти тонкости языка и используют их?

Чото у меня ощущение что в стандарт тянут всё подряд, и работа ради процесса и зарплаты.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #89, #90

80. Сообщение от anon5989517240 (?), 30-Мрт-26, 16:54   +/
Наоборот - рефлексия компилится в разы быстрее шаблонов и значительно более читаемая по сравнению с ними
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

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

82. Сообщение от Аноним83 (?), 30-Мрт-26, 16:55   +1 +/
Да вот только язык превращается из "английского" в "китайский" - вместо выражения мыслей с помощью набора букв нужно помнить все 100500 иероглифов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #87, #96

83. Сообщение от anon5989517240 (?), 30-Мрт-26, 16:57   +1 +/
строго говоря самомодификация программы к рефлексии не имеет отношения.

Помимо этого вся рефлексия by design живет на compile-time и в рантайм протекает только при отдельном большом желании

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #127

84. Сообщение от Христианинemail (?), 30-Мрт-26, 16:57   +/
вы правы.
я не прав
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #103

85. Сообщение от Аноним (85), 30-Мрт-26, 16:58   +/
Опять начали ныть в комментариях; всё им не так и не эдак. Вас никто не заставляет учить все эти заклинания. Зато если какие-то из них вам понадобятся в будущем, - спасибо скажете;) А до тех пор, - не надо заморачиваться.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #92

86. Сообщение от Христианинemail (?), 30-Мрт-26, 16:59   +/
вы ерничаете ? - это сарказм ?
не все это поймут...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

87. Сообщение от Аноним (87), 30-Мрт-26, 16:59   +/
> вместо выражения мыслей с помощью набора букв нужно помнить все 100500 иероглифов

Skill issues.
Для apl вообще отдельная клавиатура/раскладка нужна была.
Зато писали на нем реально умные люди, а не случайный сброд, почитавший "С++ за 21 день"

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #134

88. Сообщение от Аноним (93), 30-Мрт-26, 17:00   +/
А кто узнает чем компилиравали? или Нужный исходник не компилируется в классике.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

89. Сообщение от Ананоним (?), 30-Мрт-26, 17:00   –1 +/
> А сколько гениев в мире знают все эти тонкости языка и используют
> их?
> Чото у меня ощущение что в стандарт тянут всё подряд, и работа
> ради процесса и зарплаты.

Мне кажется они таким методом решили закопать C++, чтобы было правдоподобное оправдание переключения на новомодные языки. Вся эта шумиха очень забавна, особенно если посмотреть в какой  тишине и тени, относительно этого места, люди используют язык Ada, как пример.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #137

90. Сообщение от Аноним (90), 30-Мрт-26, 17:01   +1 +/
> А сколько гениев в мире знают все эти тонкости языка и используют их?

Хм... т.е для системного языка тонкости не нужны?
Может для глупеньких отдельный ЯП сделать, типа ПХП или ЖС.

> Чото у меня ощущение что в стандарт тянут всё подряд, и работа ради процесса и зарплаты.

Ощущения это не факты)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #106, #139

91. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:01   +1 +/
а чё тебе баян не нравится?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #116

92. Сообщение от Ананоним (?), 30-Мрт-26, 17:01   +/
> Опять начали ныть в комментариях; всё им не так и не эдак.
> Вас никто не заставляет учить все эти заклинания. Зато если какие-то
> из них вам понадобятся в будущем, - спасибо скажете;) А до
> тех пор, - не надо заморачиваться.

Ты наверно не читатель кода, а только пейсатель. Это объясняет твои шумы в лужу.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #104

93. Сообщение от Аноним (93), 30-Мрт-26, 17:03   –1 +/
Если Вы знаток: В чем разница реализации (применяемых инструкций) вычислений double и long double на x64?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

94. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:06    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору

95. Сообщение от Ананоним (?), 30-Мрт-26, 17:09   +/
> Хорошо потрудились, с каждым стандартом код получается лаконичнее и понятнее.

Ога,Ю особенно со словом auto очень понятнее :D

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #97

96. Сообщение от Фанат (?), 30-Мрт-26, 17:10   +/
Да ладно.
template< class ...Args > requires ( sizeof...(Args) == ValuesCount )    interpolation_by_hermit(Args&&... args) : m_Values{static_cast<numeric>(args)...} {}
Вполне доступно и понятно. Раньше с ума съедешь пока размотаешь переменное число параметров в шаблоне.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #114, #136

97. Сообщение от Фанат (?), 30-Мрт-26, 17:13   +1 +/
Именно. Конфетка с с++14 лямбды с auto типами в параметрах.
Data.OnEnd( []( auto& T ){ T = 123; } );
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95

98. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:14   +/
и как же без всего этого ядро линуса стоолько лет жило нуно срочно на с+++ переводить
Ответить | Правка | Наверх | Cообщить модератору

99. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:15   +/
теперь я буду писать толлько так
Ответить | Правка | Наверх | Cообщить модератору

100. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:17   +/
а мне нравиться я по другомк писавть и не умею
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

101. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:18    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

102. Сообщение от Витюшка (?), 30-Мрт-26, 17:19   –2 +/
Наконец-то C++сники начали что-то подозревать об их уровне программирования
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

103. Сообщение от dimabig83 (?), 30-Мрт-26, 17:19   +/
нифига себе, такое на опеннете бывает?!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

104. Сообщение от Аноним (85), 30-Мрт-26, 17:19   +/
Не вижу проблем. Что мешает заранее договориться о том какие фичи языка будут использоваться в проекте, а какие нет? Тогда с чтением проблем не возникнет!

Если ваш мозг чувствует что этот язык не для вас, - используйте другой, - это нормально, не надо насиловать свой мозг! Однако это не значит, что сам язык плохой.

Например, мой мозг не хочет воспринимать Lisp, или например Zig, - это же не значит что языки плохие. У кого-то будет наоборот. Говорю же, не надо заморачиваться, не нравится, - не пользуйтесь; найдите то что вам подходит лучше всего и приносит удовольствие.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92 Ответы: #108

105. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:19    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

106. Сообщение от Ананоним (?), 30-Мрт-26, 17:20   +/
> Может для глупеньких отдельный ЯП сделать, типа ПХП или ЖС.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #107

107. Сообщение от Аноним (93), 30-Мрт-26, 17:22   +/
Проблемы реализации и непротиворечивости кучи мусора на стороне поддержки компиляторами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106 Ответы: #140

108. Сообщение от Ананоним (?), 30-Мрт-26, 17:23   +/
> Не вижу проблем. Что мешает заранее договориться о том какие фичи языка
> будут использоваться в проекте, а какие нет? Тогда с чтением проблем
> не возникнет!

Ога! Осталось только договориться со всеми программистами мира, чтобы не читать потом этот "код", в поисках жучков в открытых проектах.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104 Ответы: #118

109. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:23   +/
уу меня все программы ттакие
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

110. Сообщение от Jh (?), 30-Мрт-26, 17:24   +/
Почему он?!!! А не Rust?!!!
Ответить | Правка | Наверх | Cообщить модератору

111. Сообщение от Аноним (111), 30-Мрт-26, 17:26   +/
>Возможность появится в GCC 16.

Забудьте про gcc и больше на него не оглядывайтесь. А в шланге уже есть.

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

112. Сообщение от НовыеРептилоиды (?), 30-Мрт-26, 17:26   +/
лучше би новый графическийй интерфейс сделали на замену qt
Ответить | Правка | Наверх | Cообщить модератору

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

114. Сообщение от Ананоним (?), 30-Мрт-26, 17:29   –1 +/
> Да ладно.
> template< class ...Args > requires ( sizeof...(Args) == ValuesCount ) interpolation_by_hermit(Args&&...
> args) : m_Values{static_cast<numeric>(args)...} {}
> Вполне доступно и понятно. Раньше с ума съедешь пока размотаешь переменное число
> параметров в шаблоне.

Вам не приходила в голову мысль, что переменное число параметров в шаблоне это просто кривое архитектурное решение, и на этапе создания прошлых версий стандарта языка создатели так и считали? А потом язык начали использовать недоархитекторы и забивание гвоздей микроскопами стало обычной практикой.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #131

115. Сообщение от Tita_M (ok), 30-Мрт-26, 17:29   +2 +/
"C++ is an insult to the human brain" Niklaus Wirth.
Не знаю высказывался ли Никлаус Вирт о Rust, но я уверен, что он от него в восторге точно не был.
Я считаю, что подобные языки оставляют очень сильные патологические следы в структурах мозга программирующих на них.
Ответить | Правка | Наверх | Cообщить модератору

116. Сообщение от Аноним (116), 30-Мрт-26, 17:30   +/
Ага, и смайлик умиления ^^ над ним.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91

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

118. Сообщение от Аноним (85), 30-Мрт-26, 17:32   +/
У каждого проекта вполне могут быть свои критерии к тому в каком стиле писать и какие фичи языка использовать. Не вижу никаких проблем. Захотели присоединиться к проекту?, - будьте любезны изучить стиль в котором надо писать. Если не нравится стиль,? - найдите другой проект. Не нашли подходящий, создайте свой и озвучьте свои требования по написанию кода.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

119. Сообщение от Аноним (111), 30-Мрт-26, 17:33   +1 +/
>Реализована структура данных std::hive для неупорядоченного хранения данных

Рулез.

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

120. Сообщение от Аноним (120), 30-Мрт-26, 17:33   +/
вместо того чтобы упрощать язык они его усложняют. подработка на пенсии вот что все эти стандарты за последние лет 20.

один int x[n] для сишечки чего стоит. наркоманы чертовы.
auto чтобы все запутать. убогие треды хотя есть libpthread.
двадцать блин лет и куча левого мусора который только все усложняет, а не упрощает

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

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

122. Сообщение от Аноним (111), 30-Мрт-26, 17:37   +/
И ещё. std::ranges::* - тормознутее <algorithm> и кода вручную. Во всех компиляторах. В GCC, разумеется, намного тормознее, чем в шланге. std::iota такая же быстрая, как и ручной цикл. Но все маппинги-редукции тормозят жутко, на порядки, да, при -O3 и -flto. Stay away.
Ответить | Правка | Наверх | Cообщить модератору

123. Сообщение от nonstop (?), 30-Мрт-26, 17:38   +/
воистину
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

124. Сообщение от Аноним (111), 30-Мрт-26, 17:40   +/
>двадцать блин лет и куча левого мусора который только все усложняет, а не упрощает

как язык назовёшь - тех он и притягивает ;)

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

125. Сообщение от oficsu (ok), 30-Мрт-26, 17:40   +/
Контракты имеют единый гибкий стандартизированный механизм обработки нарушений, в отличие от ассертов. И ассерты нельзя привязать к результату функции. Ну и предусловия — это способ выразить интерфейс функции. Ассерт внутри тела функции не является таким интерфейсом
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

126. Сообщение от Аноним (45), 30-Мрт-26, 17:43   +/
Тем, что видны на стороне вызывающего функцию, а значит могут быть оптимизированы с учетом вызывающего кода. Кроме того, поведение контрактов настраивается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

127. Сообщение от Аноним (93), 30-Мрт-26, 17:43   +/
Просто я смотрю с другой стороны жизни программ. Как легко трескаются .NET программы, например.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

128. Сообщение от LaunchWiskey (ok), 30-Мрт-26, 17:47   +1 +/
Астанавитесь! C++ 11 уже был перебором, до него всё необходимое, что нужно грамотному программисту, в языке уже имелось.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #130, #132

129. Сообщение от Аноним (129), 30-Мрт-26, 17:50   +/
>> Внесены изменения для усиления безопасности стандартной библиотеки, такие как проверки допустимых значений и выхода за границы буфера.
> Дамы и господа, свершилось!

Свершилось оно как всегда: через задницу. Потому что включается оно сугубо через флаг компилятора для всего translation unit-а (а может и вовсе сугубо для всего бинаря - хз, не вникал).

Додуматься добавить директивы типа pragma для включения/выключения этих проверок для конкретных кусков кода - это для комитетных дидов чересчур неподъемная задача. Может, они осилять это где-то к C++40, и плюсы в этом плане наконец-то догонят Турбо Паскаль конца 80х.

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

130. Сообщение от Ананоним (?), 30-Мрт-26, 17:56   +/
> Астанавитесь!

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

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

131. Сообщение от Фанат (?), 30-Мрт-26, 17:59   +/
Возможно, плюсы в начале 2000х выглядели эдаким супер макросом. Все знакомые, кто работал с плюсами воспринимали это как неизбежное зло и по возможности уходили на что-то другое. Было написано много кодогенераторов - Qt не дадут соврать :). Поэтому так все исторически медленно развивалось, сейчас ИМХО ругают по старой памяти в основном. После 14 года плюсы стали значительно лучше, не stl, а именно написание своего кода стало более лаконичным и упорядоченным.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114

132. Сообщение от Фанат (?), 30-Мрт-26, 18:02   +/
Да ладно! constexpr, consteval что неудобны ? а лямбды с auto параметрами ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #128

133. Сообщение от Аноним (133), 30-Мрт-26, 18:07   +/
Это что, они прям догоняют скоро Дельфи 90-х годов?!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

134. Сообщение от Аноним83 (?), 30-Мрт-26, 18:11   +/
Так а толку то с таких умников?
Софта условно надо 10005000 на планету, а умников всего 1050 и они дорогие, да ещё и умирают в самый неподходящий момент.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

135. Сообщение от Аноним (135), 30-Мрт-26, 18:13   –2 +/
Типа так:
- UB
- UB
- UB
- Pure Random.
- UB.
- UB
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

136. Сообщение от Аноним83 (?), 30-Мрт-26, 18:13    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96

137. Сообщение от Аноним83 (?), 30-Мрт-26, 18:14   +/
Мне кажется тащить всякий мусор они начали раньше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

138. Сообщение от Аноним (135), 30-Мрт-26, 18:17   –1 +/
> Этот пропозал уточняет вординг стандарта и не обязывает компиляторы менять что-либо. Он расширяет свободу компиляторов, а не сужает. Так что данный пропозал не "не поддерживается", а попросту неприменим к GCC. Именно поэтому там N/A

Хорош стандарт. А потом мы удивляемся, что что-то только шлангом собирается, чему-то GCC подавай, а третье вообще только в MSVC.

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

139. Сообщение от Аноним83 (?), 30-Мрт-26, 18:26   +/
Системного!?

Операционные системы на крестах не пишут, ничего лучше обычного С+асм нет.

Для глупеньких - го сделали.
Пхп делали для простоты в вебне, жс делали как максимально переносимый вместе с виртуальной машиной, по сути это абстракция от ОС и железа.


> Ощущения это не факты)

Это да, язык активно сращивают с разными либами, и собственный синтаксис расширяют.
На примере естественных языков видно как простой и минималистичный английский выигрывает у всяких разных, особенно тех что с иероглифами.

А проектов где суперлиба с кучей своего синтаксиса поверх языка накрученного - я насмотрелся, да и сам подобное делал, и поддерживал чужое.
Как для либы/проекта такое ещё норм, а как для стандарта/языка - сильно сужает мышление и повышает порог входа.

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

140. Сообщение от Аноним83 (?), 30-Мрт-26, 18:30   +/
Так а пользоватся то этим кто будет?
Тащить в язык/стандарт/компиляторы всякое что юзает полтора автора на планете в 3 закрытых проектах - это перебор.

Вот в новости они втащили SIMD.
Это же просто капец: с одной стороны и без этого давно инстрикты есть, с другой их сильно больше чем то что втащили. С третьей это всегда выделяется во чтото отдельное и плохо переносимое, и есть либы облегчающие процесс.
Какие то обёртки ради обёрток к общем получаются.

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


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

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




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

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