Na przykład:Czy możemy pominąć const dla zmiennych lokalnych w funkcjach constexpr?
constexpr int g() { return 30; }
constexpr int f()
{
// Can we omit const?
const int x = g();
const int y = 10;
return x + y;
}
Czy istnieje dowolny punkt, aby kiedykolwiek zadeklarować zmienne lokalne w constexpr
funkcji z const
?
nie są constexpr
funkcje z const
zmiennych lokalnych równoważne do tych bez const
?
Innymi słowy, czy constexpr
na funkcji nakłada (imply) const
na swoje zmienne lokalne?
Nie zgadzam się z twoim założeniem, że pomijanie 'const' sprawia, że funkcja wygląda" czystsza ". Poza tym, nie sądzę. Ale nie jestem "constexpr". –
Możesz nawet [zmienić je] (http://ideone.com/L4Oa68)! (I to logiczne, nie tworzy funkcji _nie czystej_) – Lol4t0
@LeoHeinsaar Myślę, że masz na myśli mniej nie-białych znaków, ponieważ w przeciwnym razie można to uczynić banalnie czystszym dzięki tej definicji w sposób, który będzie prawie powszechnie interpretowany jako nieczytelny. . – hvd