Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Описание шаблонов в Assistante
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
SABROG
А ведь действительно, как так, шаблоны в Qt используются и довольно активно, а в ассистенте нигде в описаниях классов нет явного определения шаблона-метода члена класса. Например:

qobject_cast<T>(QObject *)


был превращен в

T qobject_cast ( QObject * object )


правда он не метод класса, но вот этот метод

findChild<T>(const QString & name)


был превращен в

T findChild ( const QString & name = QString() ) const


Это какой-то новый синтаксис придуманный троллями ? Видимо я плохо искал, нигде не написано об этом ни слова. Похоже только буква T говорит о том, что это на самом деле шаблон и возвращаемый тип данных должен быть в угловых скобочках <>
Litkevich Yuriy
да как то подурацки, метод числится так:
T QObject::findChild ( const QString & name = QString() ) const

а пример использования такой:
QPushButton *button = parentWidget->findChild<QPushButton *>("button1");

Тогда поидее числится должен так:
T QObject::findChild<T> ( const QString & name = QString() ) const
SABROG
Есть такая мысль. Для шаблонов не всегда нужно явно указывать возвращаемый тип в угловых скобках, например если в самом шаблоне принимаемый и возвращаемый типы совпадают. Тогда вызов не будет ничем отличаться от вызова обычно функции. Но я не уверен насчет того, может ли компилятор по lvalue определять какой из шаблонов умеет возвращать заданный в lvalue тип. Надо поэкспериментировать. Если все получится, то значит все правильно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.