Pull to refresh
16
0
Тимофей @Dooez

User

Send message

Нужно просто использовать std::print ;)

У меня minisforum um780. Монитор 1440p 165hz + питание + USB hub по одному кабелю работает. Портативный монитор тоже подключается и питается одним кабелем.

Дома я использую штатный БП т.к. мой монитор выдает только 65Вт, а компьютер может потреблять больше.

Вроде производители пишут что есть usb-pd если порт поддерживает питание.

decltype(auto)чтобы вернуть по референсу в случае одного типа, и тупл ссылок по значению в случае нескольких типов?

GCC использует inline для внутренних эвристик, поэтому даже если с точки зрения языка разницы не будет, в реальности зависит от компилятора.

Дак нормальное сообщение выдаётся наверное тогда, когда пользователь запускает программу проверки совместимости железа с windows 11.

Minisforum um780/790 pro стоит порядка 60-70т.р. на озоне. 32Гб быстрой ОЗУ, 1Тб ссд и вполне мощный Ryzen 7840hs/7940hs.

По цене почти одинаково с традиционными ПК со схожей производительностью процессора, но видеокарта мощнее настольных встраиваемых.

Есть аналоги от других производителей. Если не нужна дискретная видеокарта под конкретные рабочие задачи, то мини ПК занимает меньше места, можно подключать питание, USB хаб и передавать изображение по одному кабелю (если монитор поддерживает). При необходимости можно взять с собой, питание от павербанка через один type-c, портативный монитор через второй (питание монитора через него же).

Я понимаю что некоторые изменения невозможно внести с сохранением обратной совместимости, и это одна из причин почему в c++ ещё долго будут проблемы. Тем не менее некоторые из данных примеров вполне могут работать даже с сохранением обратной совместимости, хотя я сомневаюсь что они будут изменены.

explicit по умолчанию не значит отсутствие возможности обозначить конструктор как implicit используя ключевое слово или атрибут.

[[nodiscard]] не препятствует игнорированию аргументов по умолчанию, а лишь вызывает предупреждение. После введения _ плейсхолдера в C++26 или используя каст в void.

enum class X{}; уже не экспортирует свои значения в окружающее пространство имён, и не конвертируется имплиситно из/в нижележащий тип. Но у него все ещё не может быть членов, что делает работу с ним менее удобной.

Для обьектов размером не более 2 указателей эквивалент `const auto`. Для обьектов большего размера `const auto&`.

В Cpp2 аргументы обладают дополнительной классификацией, in, copy, out, inout, move, forward. В зависимости от этого применяются соответствующие классификаторы. По умолчанию in.

При передаче даже простых функторов в алгоритмы вроде std::transform лябмды очень многословны. Меня устраивает явный захват переменных, но иногда хочется чего-то более простого.

В Cpp2 Герб Саттер сформировал очень приятный синтаксис, единый для функций и лямбд. Если вкратце, то auto в аргументах функции опционален и предполагается по умолчанию. Хотя меня и немного расстраивает отсутствие возможности явного захвата, сам синтаксис приятнее текущего.

Я люблю C++, но у языка однозначно есть недостатки, особенно если сравнивать его с другими современными языками.

  • explicit, [[nodiscard]] и пр. должны быть по умолчанию

  • У лямбд нет короткого синтаксиса

  • enum class вовсе не class

Конечно язык развивается, но zip_view, expected, статические operator[],() появились только в C++23. Рефлексию и pattern matching все ещё ждём. Надеюсь что они получатся лучше чем корутины, которые ещё долго можно будет рассматривать как недостаток языка.

Meta + ЛКМ для перетаскивания в любой области окна, Meta + ПКМ для Изменения размера. Не уверен про ваш DE, но везде где я пробовал это работает.

Да, переход на новый стандарт может быть проблемным. Но это не повод оставлять UB навсегда. Без тестов сложно сказать наверняка, но в большинстве случаев IO будет значительно медленнее обнуления памяти. В критически важных местах необходимо будет вручную добавить атрибуты. Кроме того компиляторы могут добавить специальные правила для стандартных функций и не проводить инициализацию.
Предлагаемый подход позволит легаси коду работать, а компиляторы будут заботиться о скорости.

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

Специально для таких случаев будет атрибут [[indeterminate]].

Переменная на стеке совсем не факт что в регистре находится. При "выделении" переменой на стеке может вообще ничего не происходить, а просто увеличится указатель стека, причем сразу на размер нескольких переменных.

Разница между присваиванием и инициализацией для int может и не существенная, но эти термины работают и для сложных типов. А если писать дженерик код, то уже нельзя заранее знать будет ли разница, и стоит предполагать что будет. Это не синтаксический сахар, это основа системы классов C++.

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

Возможно ImGui не так удобен если нужна стилизация. Нет разделения на форму и код. Нет встроенной поддержки системных тем.

Но функционально на нем можно сделать наверное все, что может понадобиться в относительно нормальном интерфейсе. А с дополнениями вроде ImPlot вообще мощнейший инструмент с минимальными затратами на освоение.

Мне искренне интересно, что по-вашему может Qt, что не получится сделать с Dear ImGui?

А потом и в браузере и в оконном менеджере / композиторе те же горячие клавиши. И двигать руку на мышку становится совсем грустно.

gcc14+, clang16+, visual studio 2022 поддерживают p1689

p1689 как раз был создан для стандартизации формата файла зависимостей.

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

Information

Rating
Does not participate
Location
Зеленоград, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer
Senior
C++