Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Что за операторы NxArray< ElemType, AllocType >?


Автор: KaraKum 31.8.2008, 17:20
Доброе время суток.
При изучении PhysX встретил такое выражение: NxArray< ElemType, AllocType >.
Как я понимаю, эти скобки - это, конечно, не специфика библиотеки PhysX, но в учебниках по C++ я такое не встречал.
Что значат эти операторы?

Автор: Daevaorn 31.8.2008, 17:33
smile
это инстанцирование шаблона
Цитата(KaraKum @  31.8.2008,  18:20 Найти цитируемый пост)
но в учебниках по C++ я такое не встречал.

плохие у вас учебники

Автор: baldina 31.8.2008, 17:35
странные у тебя учебники. Есть такая штука - шаблоны (функций или классов). NxArray - шаблонный класс, параметризуемый двумя параметрами.

для оч краткой иллюстрации - пример шаблонной функции

Код

template <typename T>
T min (T a, T b)
{
   return a < b ? a : b;
}


функция реализует обобщенный алгоритм вычисления минимального из двух аргументов и применима для любых типов (в т.ч. классов), к которым применима операция <

при использовании компилятор родит экземпляр функции для конкретных параметров.

пример использования

Код

min(1,2); // min<int>(int,int)
std::string a, b;
min(a,b); // min<std::string>(std::string, std::string)
min(1, 2.0); // error, неоднозначность - min<int> или min<double>

Автор: KaraKum 31.8.2008, 18:16
Спасибо за помощь - теперь всё стало понятно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)