Вопросы по теме 'c++20'

Подсказки прогнозирования переносимых переходов
Есть ли какой-нибудь портативный способ делать подсказки предсказания ветвления? Рассмотрим следующий пример: if (unlikely_condition) { /* ..A.. */ } else { /* ..B.. */ } Отличается ли это от выполнения: if...
11259 просмотров
schedule 07.06.2022

Какие заголовки в стандартной библиотеке C++ гарантированно включают другой заголовок?
Заголовки стандартной библиотеки C++ могут включать друг друга неуказанным образом, поэтому программисты, как правило, не должны зависеть от того, включает ли один заголовок другой. Однако в некоторых случаях заголовок гарантированно включает другой...
1529 просмотров
schedule 11.06.2022

Как разбить модуль на несколько файлов
Я читал о модулях на C ++ и кое-что не понимаю, как это сделать. Интересно, как можно эффективно разделить модуль C ++ на несколько файлов с помощью текущего предложения объединенного модуля. Допустим, у меня есть два класса, которые я хочу...
511 просмотров
schedule 06.05.2022

Концепции и средства доступа C ++ TS
Я хотел использовать Concepts TS, чтобы помочь мне с ограничением данных. Я расскажу о концепциях, обсуждаемых в p0121r0 , и я использую GCC 6.2 для тестов. Возьмите этот простой фрагмент кода: template<typename T> concept bool...
208 просмотров
schedule 30.01.2023

Гонка при распространении исключений с помощью std::future::unwrap
Ознакомление с документом об улучшениях API std::future здесь n3721 . Кажется, существует гонка в распространении исключений в отношении развернутых фьючерсов. В документе говорится Если внешнее будущее выдает исключение, а .get()...
74 просмотров
schedule 30.04.2023

pplawait.h /experimental/resumable для co_await не работает
Я установил в Windows 10.0 Visual Studio 2017 (версия 15.2). У меня есть переход с VS2013 на VS2017 для моего проекта (включая cpprestsdk) и изменение метода .then() с помощью co_await. Я что-то читал в Интернете, но на самом деле я больше не могу...
420 просмотров

Как преобразовать в современном С++ двойник в дату и время
Как преобразовать в современном C++ (C++11/14/17) двойник в дату и время, используя date.h , когда при экспорте рабочего листа Excel в виде файла CSV был сгенерирован дубликат? Например, дата и время в Excel: 21/08/2017 11:54 был...
1891 просмотров
schedule 29.03.2023

Что такое транзакционная память и что она изменит в программировании на C++ (C++20)
Одной из предлагаемых возможностей C++20 является транзакционная память. Что это? Упростит ли это многопоточное программирование на C++?
346 просмотров
schedule 18.02.2023

Выведение шаблона и неявный пользовательский оператор преобразования
Я попытался реализовать небольшой пример преобразования пользовательского типа с использованием шаблонов. #include <cassert> #include <cstdint> #include <iostream> #include <stdexcept> #include <type_traits> template...
483 просмотров

Почему std :: rel_ops :: operators не рекомендуется использовать в C ++ 20?
Согласно cppreference.com , std::rel_ops::operator!=,>,<=,>= будет считаться устаревшим в C ++ 20. . В чем причина?
1141 просмотров

Указание обработчика нарушений для контрактов
Поддержка контрактного программирования на C++ был принят в рабочем проекте C++20 в Рапперсвиле. Одной из частей этой языковой функции является понятие обработчика нарушений , который будет вызываться при нарушении контракта. Отчет о поездке...
418 просмотров
schedule 26.07.2022

Как создается объект chrono::year?
Я только что заметил, что c++20 будет иметь chrono::year . Его конструктор принимает int в диапазоне: [-32767, 32767] , однако мне неясно, что представляет собой этот аргумент. Будет ли это соответствовать происхождению tm_year 1900...
113 просмотров
schedule 11.12.2023

Что это означает для бесстековой сопрограммы только процедура верхнего уровня может быть приостановлена.
Я нашел это заявление здесь . Сначала я был удивлен, потому что считаю, что это делает бесстековые сопрограммы почти бесполезными (а TS сопрограмм C ++ не имеет стека). Итак, я написал демонстрацию (в Visual Studio с использованием C ++ сопрограммы...
985 просмотров
schedule 09.03.2024

Класс массива, который будет принимать список инициализации в фигурных скобках и определять длину
Об этом уже спрашивали, но мне любопытно узнать, изменилось ли что-нибудь в новых стандартах C ++. Допускается любой текущий или будущий стандарт. В : есть ли способ создать класс массива, который можно инициализировать с помощью списка...
946 просмотров

ошибка: `type` в `class std::result_of` не указывает тип
Пример ниже не работает со всеми компиляторами, которые я пробовал: gcc-8.2, clang-8.0 (были опробованы оба варианта --std=c++17 и std=c++2a ) и zapcc-2017.08. С моей точки зрения, пример кода действителен и должен быть скомпилирован. Или, по...
3028 просмотров
schedule 27.08.2022

Почему С++ 20 не поддерживает назначенный не по порядку инициализатор?
Пока я читал справочник по C++ , у меня возник вопрос по этому абзацу: Примечание: назначенная инициализация не по порядку, вложенная назначенная инициализация, смешивание назначенных инициализаторов и обычных инициализаторов, а также...
2958 просмотров
schedule 16.06.2022

Как проверить наличие поддержки C++20? Каково значение __cplusplus для С++ 20?
Относится к вопросам Как проверить поддержку C++11? и Каково значение __cplusplus для C++17? Как я могу узнать, может ли компилятор обрабатывать / настроен на использование С++ 20? Я знаю, что в принципе можно запросить версию C++: #if...
10043 просмотров
schedule 18.06.2023

Неоднозначность вызова функции шаблона с ограниченной концепцией
Я просматриваю cppreference руководство по концепциям и ограничениям, которое кажется единственный доступный на данный момент. В разделе «атомарные ограничения» они приводят следующий пример об идентичных и неидентичных ограничениях (с некоторыми...
73 просмотров
schedule 28.07.2022

Почему мы требуем, требует, требует?
Один из углов концепций C ++ 20 заключается в том, что есть определенные ситуации, в которых вам нужно писать requires requires . Например, этот пример из [expr.prim.req] / 3 : requires-expression также можно использовать в...
15008 просмотров
schedule 11.09.2022

Что такое шаблон оператора строкового литерала в C ++ 20?
Что такое шаблон оператора строкового литерала в C ++ 20? пример Cppreference в этом отношении довольно краток и не очень понятен для меня: struct A { A(const char *); auto operator<=>(const A&) const = default; }; template<A...
5026 просмотров
schedule 16.06.2023