|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
||||||
указатель this что именно он делает25.05.2013, 15:32. Показов 4759. Ответов 28
Метки нет (Все метки)
Вот код:
Кликните здесь для просмотра всего текста
Много прочитал про оператор this, но все же осталось смутное представление о нем, думаю на практике, на примере, удастся понять до конца, подскажите, в строчке 7 часть кода: return *this куда именно и что именно возвращает оператор return ? Правильно ли я понимаю, что return *this возвращает новое значение двух переменных (varOne и varTwo), по тому адресу, по которому они находятся? в объекте qwerty? т.е. сначала они ( переменные varOne и varTwo) были 0 и 10, и находились по адресам, допустим varOne - 00001, varTwo - 00002, после выполнения операции инкремента, в эти адреса (00001 и 00002) return *this возвращает новые значения, 1 и 11?
0
|
||||||
| 25.05.2013, 15:32 | |
|
Ответы с готовыми решениями:
28
обьясните что именно делает функция this Объясните что именно делает функция даном коде Объясните что именно делает "x%d, y%d: " или что это в даном коде |
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 26.05.2013, 12:59 | |
|
1
|
|
|
Комп_Оратор)
|
|
| 26.05.2013, 13:26 | |
|
OhMyGodSoLong, я написал криво: "стрелка...прижилась"
надо было :"осталась", так как в Си это оператор доступа к членам через указатель на структуру. Совместимость с Си то есть. Про полиморфизм тут не говорил.
1
|
|
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
||||||
| 26.05.2013, 13:59 [ТС] | ||||||
|
Кликните здесь для просмотра всего текста
Кажется я начал понимать, указатель this используется только в функциях-членах класса и указывает он на конкретный объект, который есть в функции, т.е. в строке 15 объявляется объект temp и указатель this ссылается именно на него, верно? Добавлено через 2 минуты И еще подскажите, я создаю переменную со своим типом, из программы выше music h;, все нормально, я присваиваю ей значение, а как ее вывести на экран, через std::cout не получается
0
|
||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 26.05.2013, 14:00 | |
|
VLK, еще раз: this указывает на тот объект, метод которого вызван. Смотрите на строки 34, 37, 40.
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 26.05.2013, 14:00 | ||
|
0
|
||
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
|||||||
| 26.05.2013, 14:34 [ТС] | |||||||
|
Кликните здесь для просмотра всего текста
т.е. в строчке 35 используется для вызова функции-члена объект a и по-этому, в этой функции-члене в строке 16 указатель *this указывает на объект a, а не на temp или какой-нибудь другой. (в сообщении до этого я думал что указатель *this указывает на temp т.к. он создавался в этой функции члене и возвращал его значение, т.е. return temp являлось return*this, но по факту return a является return*this - это про пример в предыдущем сообщении!) И в данном случае строка 15 бесполезна. Все правильно?
0
|
|||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 26.05.2013, 14:41 | |
|
1
|
|
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
|||||||
| 26.05.2013, 14:51 [ТС] | |||||||
Моя ошибка была в том, что я думал что указатель *this указывает на объект созданный в функции (в данном случае temp), но он указывает на тот объект при помощи которого была вызвана данная функция (в данном случае a). Только не спрашивайте как мне этот бред мог прийти в голову ![]() т.к. это по крайне мере не логично, потому что в функции-члене может создаваться несколько объектов и на какой тогда указывать..
0
|
|||||||
|
Комп_Оратор)
|
||||||
| 26.05.2013, 18:23 | ||||||
|
VLK, вызывающий объект это переменная класса от которой через точку (оператор доступа) вызывается функция-член. this внутри этой функции - указатель на эту переменную (экземпляр). Что касается разыменования this при возврате, то результат зависит от типа возврата (объявленного в сигнатуре метода). Вы продолжаете его не писать и похоже не видите разницы. Вот тут я понаписывал опять, может разберёте:
//
2
|
||||||
| 26.05.2013, 18:23 | |
|
объясните что именно делает функция Прокомментируйте отрывок кода, что именно он делает
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|