Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2012, 21:42   #1
LORDIF
 
Регистрация: 01.02.2012
Сообщений: 4
По умолчанию С какой стороны функция

Необходимо различать такие случаи:
PHP код:
*b;
= *a
Перегрузил оператор:
PHP код:
template<typename _My_My& List<_My>::Iter::operator *() const
{
    return *
_Tptr;

Можно ли как-нибудь узнать с какой стороны от знака равенства стоит эта функция?
Пробовал перегрузить таким образом:
PHP код:
template<typename _My_My& List<_My>::Iter::operator *() const
{
    return *
_Tptr;
}
template<typename _My_My List<_My>::Iter::operator *() const
{
    return *
_Tptr;

Но компилятор ругается.
LORDIF вне форума Ответить с цитированием
Старый 28.05.2012, 22:38   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

*a = b;

Здесь: *a - временный объект, а посему - константный. У него запускается operator=() const

a = b

Здесь: a может не являться константным объектом (зависит от способа его создания). И если он не константный, то для него запустится не константный operator=()

Для неконстантных от рождения объектов можно различать, с левой они стороны, или нет, по тому, какой из двух операторов= для них запустится.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C какой стороны вообще подступиться ? (дайте примерный алгоритм) Silly Student C++ Builder 1 03.10.2011 23:29
Сильные и слабые стороны CMS Arassir WordPress и другие CMS 0 12.04.2011 10:06
Стороны света ≈ стороны монитора Alex Cones Свободное общение 21 26.08.2010 17:15
Стороны прямоугольника Caragius Microsoft Office Excel 8 27.12.2008 03:02
Из какой ячейки вызвана функция? ALink Microsoft Office Excel 7 13.05.2008 00:59