Вопросы по теме 'compile-time'

Оценка времени компиляции
если я напишу enum chars = digits ~ uppercase; будет ли строка объединена во время компиляции? Я предполагаю, что это будет. Если я заменю его строковым литералом или функцией CTFE, я не смогу измерить какие-либо существенные различия в...
509 просмотров
schedule 22.02.2024

Может ли настраиваемый атрибут C# указывать тип метода, к которому он применяется?
Я знаю, что могу использовать [AttributeUsage(AttributeTargets.Method)] , чтобы убедиться, что пользовательский атрибут может быть применен только к методу, но могу ли я пойти дальше и получить ошибку времени компиляции, если пользовательский атрибут...
248 просмотров
schedule 06.11.2023

Статическая параметрическая функция, специализация в D
Я где-то читал, что D поддерживает специализацию функций для вызовов, где аргументы являются константами времени компиляции. Типичное использование этого - в матричных степенных функциях (если показатель степени равен 2, x*x часто быстрее, чем в...
156 просмотров

Почему использование предварительно скомпилированного заголовка замедляет сборку?
Наше решение содержит более 100 проектов, более 8000 файлов cpp и более 10 000 файлов заголовков. Я пытаюсь сократить время сборки. Один из проектов в решении содержит всего 5 файлов cpp, и его компиляция занимает около 10 секунд. Файлы...
926 просмотров
schedule 03.11.2022

Как заполнить массив содержимым пакета параметров шаблона?
У меня был вложенный частично специализированный код шаблона, работающий с VS 2015, пока я не обнаружил, что он не соответствует стандартам . Я хочу, чтобы это было так, чтобы я исказил свой код, чтобы преодолеть предыдущую проблему, а также ту , и...
2450 просмотров

qMetaTypeID не оценивается как постоянное выражение?
Я пытаюсь получить идентификатор QMetaType во время компиляции, однако, когда я пробую этот очень простой базовый случай: CMakeLists.txt cmake_minimum_required(VERSION 3.10) project(helloqt) set(CMAKE_CXX_STANDARD 14)...
665 просмотров
schedule 18.11.2023

if vs if constexpr внутри функции constexpr
Недавно я изменил некоторые if constexpr на if в своих функциях constexpr и обнаружил, что они по-прежнему работают нормально и могут быть оценены во время компиляции. Вот минимальный случай: template<int N> constexpr bool...
1146 просмотров
schedule 13.05.2024

Могу ли я создать статический экземпляр класса по умолчанию, который я могу использовать в качестве аргумента по умолчанию в конструкторе?
У меня есть класс, который принимает интерфейс в качестве одного из аргументов своего конструктора. Есть ли способ создать экземпляр конкретной реализации, которую я могу использовать в качестве значения по умолчанию для параметра? interface...
88 просмотров
schedule 10.11.2022

Может ли условный оператор ( ? : ) в С++ быть временем компиляции?
Можно ли использовать тернарный (условный) оператор как аналог constexpr if() , введенный в C++17? Я хотел бы добавить некоторые условия для инициализации переменных-членов в шаблоне. Будет ли следующее выражение разрешаться во время компиляции...
289 просмотров