типа возвращаемого значения. В
Автор admin
Понедельник, 18 мая 2009 11:32
типа возвращаемого значения. В противном случае вам придется обязательно указывать типы параметров функции при перечислении параметров шаблона. Для примера рассмотрим шаблон функции, знакомый многим по книгам Страуструпа (Stroustrup): //: С05:ImplicitCast.cpp tempiate R implicit_cast(const P& p) { return p: } int mainO { int i = 1: float x = implicit_cast(i): int j = implicit_cast(x); // char* p = implicit_cast(i); } ///:- Если поменять местами R и P в списке параметров, находящемся во второй строке файла, программа не будет компилироваться, потому что тип возвращаемого значения останется неизвестным (первый параметр шаблона будет соответствовать типу параметра функции). Последняя (закомментированная) строка недопустима, поскольку стандартного преобразования int в char* не существует. Вызов implicit_cast выявляет естественные преобразования типов в вашей программе. Если действовать достаточно осмотрительно, вы даже сможете вычислить размеры массивов. В следующем примере эти вычисления выполняются в шаблоне функции инициализации массива (init2): //: C05:ArraySiz
Комментарии закрыты.
Последние комментарии