Должно ли постоянное выражение быть оценено как целочисленный тип? - PullRequest
0 голосов
/ 15 ноября 2011

Допустим, у меня есть следующее:

int i = 1;
String str("abc");

Будет ли str рассматриваться как константное выражение?

Из многих книг по С ++ кажется, что константное выражение должно быть целым типом

1 Ответ

2 голосов
/ 15 ноября 2011

Будет ли str считаться константным выражением?

Нет, не будет.В C ++ 11 введено новое ключевое слово constexpr, которое помогает обобщить понятие константных выражений.Если String конструктор из "abc" достаточно тривиален, то он может быть объявлен constexpr;однако такой конструктор, вероятно, должен выделить память, чтобы он не соответствовал требованиям.

...