С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Дана матрица 7х7, поменять местами элементы, симметрично относительно побочной диагонали https://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"
C++ Написать программу, которая вычисляет среднее арифметическое всех элементов дерева Т https://www.cyberforum.ru/ cpp-beginners/ thread878033.html
...
C++ Определить кол-во элементов массива, которые больше среднеарифметического значения всех элементов массива Сделать программу, к-рая случайно заполняет массив А (n<30) целыми значениями. Определить кол-во элементов массива, которые больше среднеарифметического значения всех элементов массива. https://www.cyberforum.ru/ cpp-beginners/ thread878000.html
C++ Как в программе подключить справку?
Есть файл *.chm, подключаю его через project -> options и прописываю ShellExecute(Handle,L"open",L"Справка.chm",NULL,NULL,SW_RESTORE); НО ошибка "cannot convert 'wchar_t*'to'const char*'" Может ещё есть способ?
C++ Массивы-Указатели. Определить кол-во и суму элементов, которые попадают в диапазон А,В https://www.cyberforum.ru/ cpp-beginners/ thread877987.html
Сделать программу, к-рая случайно заполняет массив А (n<30) целыми значениями. Определить кол-во и суму элементов, которые попадают в диапазон А,В. Массив и результат вывести в файл ШАБЛОН ВОТ ТАКОЙ::: #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std;
C++ Переведите программу в C++ из Pascal https://www.cyberforum.ru/ cpp-beginners/ thread877977.html
Переведите программу в C++ {A} Var T,M,N: Longint; Begin Readln(M,N); If m>n then begin T:=M; M:=N; N:=T;
C++ Решение нелинейного уравнения методом итераций
Я не знаю куда кидать, кто поможет сделать эту работу Программа должна вычислять корень нелинейного уравнения методами: простых итераций, методом дихотомии (деления пополам), методом Ньютона с заданной точностью. Программа должна предоставлять пользователю возможность выбора метода решения нелинейного уравнения и точности вычисления корня. При вычислении корня должно вычисляться количество...
C++ как использовать значение вероятности? #include <iostream> using namespace std; int main(void) { const int P = 17; float n=1\P; //- вероятность int temp=0; for(int i=0; i<10; i++) https://www.cyberforum.ru/ cpp-beginners/ thread877960.html C++ Написать функцию, к-рая вычисляет сумму и произведение первых N чётных чисел. https://www.cyberforum.ru/ cpp-beginners/ thread877953.html
Написать функцию, к-рая вычисляет сумму и произведение первых N чётных чисел.
Паттерн стратегия и ошибки при компиляции C++
Здравствуйте уважаемые форумчане. Вот решил я как-то недавно, что мой код говно и надо что-то с этим делать, так как я пишу нормальные по функциональности приложения, но совсем не гибкие и вносить какие либо изменения в них очень проблематично.. Проблему решил исправлять радикально. Начал изучать паттерны проектирования. Книга написана для программистов Java, ну или край - C#, но это не стало для...
C++ Массив + подпрограмма. Вычислить разность между минимальным и максимальным элементами Ввести массив M из девяти элементов. Вычислить разность между минимальным и максимальным элементами. Использовать подпрограммы https://www.cyberforum.ru/ cpp-beginners/ thread877926.html
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
26.05.2013, 00:06  [ТС] 0

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

26.05.2013, 00:06. Показов 3807. Ответов 28
Метки (Все метки)

Ответ

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
class test
{
public:
int v;
};
 
test inc(test* const this_, int inc_value)
{
test rv = *this_;
this_->v += inc_value;
return rv;
}
 
int main()
{
test a;
a.v = 10;
 
test b = inc(&a, 1);
 
std::cout << "a.v = " << a.v << std::endl;
std::cout << "b.v = " << b.v << std::endl;
 
system("pause");
return 0;
}

Строчки 3-7 объявляется класс test, у него одна открытая переменная "v".


в Строчке 18 объявляется объект "a" класса "test", и переменной "v" присваивается значение 10.

в Строчке 21 объявляется еще один объект "b" класса "test", и ему присваивается значение которое рассчитывается в функции строчки 9-14

В строчке 9 объявляется функция "inc" типа "test", с параметрами, 1. параметр это ссылка на объект "a" класса "test", второй целочисленное число.

В строке 11 объявляется объект "rv" класса "test", все его параметры равны параметрам this_, а в свою очередь его параметры равны объекту "a" класса "test", this_ это ссылка на объект "a", Но объект "rv" имеют свой адрес в области памяти, отличный от "a", а "test* const this_" и "a" имеют один адрес в области памяти.

В строке 12 к "v" через указатель прибавляется "inc_value", но эта "v" имеет отношение к "test* const this_" из строчки 9, а не к объекту "rv"

т.е. 12 строчка поменяла значение "a.v" на 11
При это "b.v" остается 10 т.к. он имеет разный адрес в памяти от "a.v" и "test* const this_"

Все правильно?

и еще вопрос насчет строчки 13, на сколько мне известно оператор return возвращает только значение, число или лог. значение, а тут получается объект класса, я может не в полном объеме понимаю

Я представляю так? вернуть можно значение, например:

int x=10;
return x;

а тут, для меня это равнозначно:

return funciya();
или
return int x;

но так же не может быть, где ошибка в моей логике?

Вернуться к обсуждению:
указатель this что именно он делает C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2013, 00:06
Готовые ответы и решения:

обьясните что именно делает функция this
Обьяснте пожалуйста что делает функция this?

Объясните что именно делает функция даном коде
Помогите пожалуйста. Я не могу понять что делает функция которая стоит вначале моего кода, точнее я...

Объясните что именно делает "x%d, y%d: " или что это в даном коде
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double rast(double x1, double y1,...

объясните что именно делает функция
Добрый час ! имеется следующий набор функций. не совсем понятен конечный результат. к примеру...

28
26.05.2013, 00:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2013, 00:06
Помогаю со студенческими работами здесь

Прокомментируйте отрывок кода, что именно он делает
Дан следующий кодConsole.Write(&quot;Введите m:&quot;); int m =...

Как именно в методах расширения указать, что переходить нужно именно главный контроллер?
В проекте есть несколько Areas. Маршрутизация нстроена так (для наглядности сократил) public...

Инициализация делает указатель из целого числа
Выдает ошибку на мой указатель, может я не правильно объявил указатель COORD goRight(COORD pk,...

Нюансы синтаксиса: что означает указатель на указатель?
//Как работает 6 строчка? #include &lt;iostream&gt; using namespace std; int main( void ) { ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru