Здравствуйте, гость ( Вход | Регистрация )
kwisp | Дата 29.7.2009, 23:18 |
ЕМНИП они не могут быть определены для указателя - в си для первичных типов ничего нельзя определить. И на первичных типах нельзя наследовать. да? возможно я поторопился с выводами. надо будет изучить этот вопрос -------------------------------------------------------------------------------------------- да не прав. простите. хитрый наворот с этим QStringRef |
|
Гость | Дата 29.7.2009, 20:05 |
для указателя на строку они тоже определены и так как они вызываются слева на право т.е. слева вызывающий объект а справа ссылка то получается ЕМНИП они не могут быть определены для указателя - в си для первичных типов ничего нельзя определить. И на первичных типах нельзя наследовать. (s->operator==( b ) Есть же отладчик в креаторе! Там конструктор QStringRef::QStringRef(const QString *aString) создается временный обьект, потом bool operator==(const QStringRef &s1,const QString &s2) |
|
kwisp | Дата 29.7.2009, 11:58 |
я всё же за указатель.
компилится и ошибок не вызывает. -----------------------------------------------
тут дело в operator!= ( const QString & ) и проч. для указателя на строку они тоже определены и так как они вызываются слева на право т.е. слева вызывающий объект а справа ссылка то получается все равно что if(s == b ) что if(s->operator==( b ) ) я думаю так. |
|
SABROG | Дата 29.7.2009, 11:56 |
Пардон. Забыл, что сравнивать ссылки нельзя. Только указатели. Значит эти операции эквивалентны:
|
|
Litkevich Yuriy | Дата 29.7.2009, 11:48 |
сравнивает её с ссылкой b а почему с сылкой-то? |
|
SABROG | Дата 29.7.2009, 11:43 |
Не указатель, а адрес (ссылку) и сравнивает её с ссылкой b. По сути идет сравнение адресов двух объектов, а не их содержимого. | |
kwisp | Дата 29.7.2009, 11:34 |
где лишний то? if(&a!=b ) если это, то это не лишний по мне так ты указатель взял а и все. получил адрес. можно еще приоритет операций посмотреть. |
|
Гость | Дата 29.7.2009, 11:20 |
Я ничего не понял. Ты чего пытаешься изобразить? Лишний & случайно поставил. Где в доках написано что это такое и почему компилируется? |
|
SABROG | Дата 29.7.2009, 11:06 |
Я ничего не понял. Ты чего пытаешься изобразить? | |
Гость | Дата 29.7.2009, 10:54 |
это компилируется. Зовет QStringRef Оператор & в нелпе по QString не вижу. Описан явная функция QStringRef . Видимо (QString*)&s даст указатель. ЗЫ А QStringRef с подсчетом ссылок? Чет пробелы в доках |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 14:40 |