Автоматичне визначення типу повернення з функції в
C++
#8
Зараз у C++
є можливість автоматичного визначення типу повертаючого значення тільки за значенням біля return
.
auto f() {return 4;}
int x = f();
При цьому ми не можемо уточнювати тип при виклику, це не завжди те що треба.
Але якщо ми використаємо явне оголошення шаблону, то ми будемо змушені явно вказувати тип при виклику.
template<typename T>
T f() {return T();}
int x = f<int>();
float y = f<float>();
Але тут компілятор може визначити який тип потрібно повернути. Виглядало б це так:
int x = f(); // T = int
float y = f(); // T = float
Або при передачі в іншу функцію:
void x(int y);
x(f());
Не всюди це можливо, наприклад коли функція x
також шаблонна.
template<typename T>
void x(T y);
У цьому випадку нам потрібно уточнити тип явно.
x(f<int>());
#cpp #c++ #proposal #template #auto #return #function #пропозиція #покращення #автоматичне-визначення
@ua @rada