- Изменилось ли это в C ++ 0x?
Нет. Существует constexpr
, но это означает постоянную времени компиляции. Если его параметры тоже constexprs
, то он выполняется во время компиляции, но в противном случае это обычная функция. Так как они должны быть определены в одном и том же модуле перевода и состоять из одного оператора возврата, они, вероятно, будут встроены и будет выполнена вышеописанная оптимизация. Его нельзя использовать для предоставления информации компилятора о внешне связанной функции.
Если это не изменилось, то почему бы и нет? Я думаю, что было бы весьма полезно иметь такую поддержку.
На самом деле, я не думаю, что вам это нужно. Язык уже слишком большой, и программист может легко переписать этот код, чтобы в любом случае сделать его более эффективным, основываясь на своих знаниях. В отличие от restrict
он не предоставляет никакой информации, которая не может быть выражена другими способами.
Есть ли какие-нибудь открытые предложения по этому поводу?
Я не видел никаких документов комитета по этой теме.