Форум программистов, компьютерный форум CyberForum.ru

указатель this что именно он делает - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дана матрица 7х7, поменять местами элементы, симметрично относительно побочной диагонали http://www.cyberforum.ru/cpp-beginners/thread878047.html
#include <iostream> #include <conio.h> using namespace std; int main() { setlocale(LC_ALL, "russian"); int a;
C++ УКАЗАТЕЛИ. Написать функцию, к-рая вычисляет сумму и произведение первых N чётных чисел Написать функцию, к-рая вычисляет сумму и произведение первых N чётных чисел. ИСПОЛЬЗУЯ УКАЗАТЕЛИ!!!!!!! пОЖАЛУЙСТА. СРОЧНО НАДО! Добавлено через 7 минут помогите пожалуйстааа!!! Добавлено через 5 минут #include "stdafx.h" http://www.cyberforum.ru/cpp-beginners/thread878038.html
Написать программу, которая вычисляет среднее арифметическое всех элементов дерева Т C++
...
C++ Определить кол-во элементов массива, которые больше среднеарифметического значения всех элементов массива
Сделать программу, к-рая случайно заполняет массив А (n<30) целыми значениями. Определить кол-во элементов массива, которые больше среднеарифметического значения всех элементов массива.
C++ Как в программе подключить справку? http://www.cyberforum.ru/cpp-beginners/thread877990.html
Есть файл *.chm, подключаю его через project -> options и прописываю ShellExecute(Handle,L"open",L"Справка.chm",NULL,NULL,SW_RESTORE); НО ошибка "cannot convert 'wchar_t*'to'const char*'" Может ещё есть способ?
C++ Массивы-Указатели. Определить кол-во и суму элементов, которые попадают в диапазон А,В Сделать программу, к-рая случайно заполняет массив А (n<30) целыми значениями. Определить кол-во и суму элементов, которые попадают в диапазон А,В. Массив и результат вывести в файл ШАБЛОН ВОТ ТАКОЙ::: #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; подробнее

Показать сообщение отдельно
VLK
 Аватар для VLK
192 / 161 / 12
Регистрация: 05.05.2013
Сообщений: 1,221
26.05.2013, 14:51  [ТС]     указатель this что именно он делает
Цитата Сообщение от 0x10 Посмотреть сообщение
Вот этого не понял, остальное вроде похоже на правду.
Это конечно не лучший пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
....
music fun_this(music sss)
{
music temp(5,5,5);
return *this;
}
 
....
 
music a(2,2,2);
music c = a.fun_this(a);
....
Я считал что return *this будет равнозначен return temp т.е. music c будет равен music c(5,5,5), но на самом деле, из-за того, что мы используем для вызова функции-члена объект a то *this указывает именно на a и в итоге получается что return a равнозначен return*this, и в итоге music c будет равен music c(2,2,2)

Моя ошибка была в том, что я думал что указатель *this указывает на объект созданный в функции (в данном случае temp), но он указывает на тот объект при помощи которого была вызвана данная функция (в данном случае a).

Только не спрашивайте как мне этот бред мог прийти в голову
т.к. это по крайне мере не логично, потому что в функции-члене может создаваться несколько объектов и на какой тогда указывать..
 
Текущее время: 16:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru