Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 30.09.2011, 16:33
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Не могу понять, что таким образом перегружается. Вроде какая-то префиксная перегрузка указателя на тип void. Поэкспериментировал, компилятор матюкается если перегруженный оператор принимает, или возвращает какое-либо значение. Т.е. насколько я понял он имеет только this. Также допустимы, operator void * () const; operator int * (); ....Встретил такое в потоках с++, когда увидел следующее:Цитироватьchar fileName[80];cout > fileName;ifstream fin(fileName);if(fin){ /*Начинка*/}fin.close();Задумался как if(fin) знает, что нужно вернуть значение fin.good() (или что-то другое?) и обратил внимание на эту непонятную перегрузку. Но насколько я помню по Си без ++ там под if должен быть указатель, а не объект. Т.е у меня два варианта, либо это какая-то перегрузка, где флаг объекта возвращается, либо, как-то объект указателем подменяется. Но все-равно механизм непонятен.
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
operator[] via get/set Guest Продолжение старого архива 0 30.09.2011 17:54
template + operator[] Guest Продолжение старого архива 0 30.09.2011 17:14



© www.otvetnemail.ru - Форум вопросов и ответов.