Допустим, у меня есть следующее:
int i = 1; String str("abc");
Будет ли str рассматриваться как константное выражение?
str
Из многих книг по С ++ кажется, что константное выражение должно быть целым типом
Будет ли str считаться константным выражением?
Нет, не будет.В C ++ 11 введено новое ключевое слово constexpr, которое помогает обобщить понятие константных выражений.Если String конструктор из "abc" достаточно тривиален, то он может быть объявлен constexpr;однако такой конструктор, вероятно, должен выделить память, чтобы он не соответствовал требованиям.
constexpr
String
"abc"