Вопросы и ответы
Как обойти проблему с тем, что MSVC не выводит аргумент шаблона шаблона
00
Вопрос или проблема Существует очень похожий вопрос, но я не понял, как я мог бы применить обходные решения к своему коду. Дело больше в достижении универсальности для различных типов контейнеров: Visual C++ не может вывести шаблонный параметр шаблона
Вопросы и ответы
Предварительное объявление классов для использования указателей на объекты типов, которые объявлены и определены в модуле.
00
Вопрос или проблема У меня есть несколько классов, связанных с играми, таких как “StateManager”, “Window”, “EventManager” и так далее. Эти классы находятся в отдельных модулях. Модуль “
Вопросы и ответы
Почему использование std::enable_if_t в качестве параметра шаблона по умолчанию в перегруженных членах функций вызывает неоднозначность? [дубликат]
00
Вопрос или проблема Этот вопрос уже имеет ответы здесь: Перегрузка шаблона функции C++ по параметру шаблона (1 ответ) SFINAE работает по-разному в случаях типов и нетиповых параметров шаблона (5 ответов) Закрыто 35 минут назад.
Вопросы и ответы
Каков идиоматичный способ иметь функцию-член шаблонного класса с объявлением, действительным только если аргумент шаблона соответствует какому-либо концепту?
00
Вопрос или проблема Функция языка C++20 Concepts позволяет ограничивать функции-члены шаблонных классов. Однако эти ограничения применяются только к телу функций-членов, а не к объявлению – объявление все еще должно быть допустимым.
Вопросы и ответы
C++20 coroutine_traits
00
Вопрос или проблема Я изучаю cppreference и концепцию std::coroutine_traits. Согласно документации, описание следующее: Определяет тип обещания на основе типа возвращаемого значения и типов параметров корутины. Реализация стандартной библиотеки предоставляет
Вопросы и ответы
Указатель выдает мусорные значения при использовании виртуального наследования.
00
Вопрос или проблема У меня есть класс хранения, который хранит указатели void (я знаю, что это спорный дизайн, но я его не разрабатывал) на произвольные типы данных. При написании модульного теста я заметил, что получаю ошибку сегментации, когда данные
Вопросы и ответы
Модули C++20 и идиома PIMPL
00
Вопрос или проблема Я сталкиваюсь с трудностями при использовании идиомы PIMPL с модулями C++20. Я использую стороннюю библиотеку, которую не хочу раскрывать пользователю библиотеки. Я создал следующий гист, чтобы показать необходимые файлы: https://gist.
Вопросы и ответы
Как написать настраиваемый итератор прямого диапазона, работающий с диапазонами C++20
00
Вопрос или проблема Мой исходный вопрос Как я могу написать класс на C++, который работает с библиотекой std::ranges C++20? Происхождение моей проблемы Я пытался написать класс-обертку с итераторами на C++. Но мой компилятор (clang++18) сказал мне, что
Вопросы и ответы
Как создать пользовательское представление в C++20 (например, std::ranges::views::filter)
00
Вопрос или проблема Я ищу понятный ресурс или учебник о том, как создать пользовательский представление в C++20. (например, как std::ranges::views::filter). Я проверил документацию Microsoft и cppreference, но не нашел конкретных рекомендаций.
Вопросы и ответы
Случается ли всегда конструирование NTTP для CTAD, даже если задано значение типа этой специализации?
00
Вопрос или проблема Это (частично) сокращено из CTAD инициирует другую специализацию, когда задан явный аргумент. https://godbolt.org/z/5To7nKEP3 template<int N> struct Bar { int n = N; constexpr Bar() {} constexpr Bar(const Bar&
Вопросы и ответы
Статическое утверждение срабатывает из типа возвращаемого значения, когда не выполняется ведущий ограничение.
00
Вопрос или проблема GCC принимает этот код, а Clang и MSVC отклоняют его из-за неудачной статической проверки в assert. Что говорит стандарт? https://godbolt.org/z/PKMKzYGsc template<typename T> constexpr int assert() { static_assert(sizeof(T) == 1);