У меня есть класс с параметром шаблона int. При некоторых обстоятельствах я хочу вывести сообщение об ошибке. Это сообщение должно быть объединенной строкой из некоторого фиксированного текста и параметров шаблона. По соображениям производительности я бы хотел избежать создания этой строки во время выполнения каждый раз, когда возникает ошибка, и теоретически и строковый литерал, и параметр шаблона известны во время компиляции. Поэтому я ищу возможность объявить это как constexpr.
Пример кода:
template<int size>
class MyClass
{
void onError()
{
// obviously won't work but expressing the concatenation like
// it would be done with a std::string for clarification
constexpr char errMsg[] = "Error in MyClass of size " + std::to_string (size) + ": Detailed error description\n";
outputErrorMessage (errMsg);
}
}