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

*this - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Dev C++ задача на построение графика функции http://www.cyberforum.ru/cpp-beginners/thread785079.html
Недавно начал изучать C++, до этого пытался выучить Си. Следовательно, хочу переделать график ф-ции sin(x) из СИ в C++ по точкам. Вот то, что я сделал в СИ. График строиться нормально, никаких ошибок не выбивает #include<stdio.h> #include <stdlib.h> #include <math.h> int main() { float x, y;
C++ Не работает быстрая сортировка для двумерного массива Здравствуйте, возникла проблема, не работает быстрая сортировка по возрастанию абсолютных величин для двумерного массива. Работает только, если столбцов почему-то 3 или меньше, при больших не работает. Код функции: void quick(int** a, int m, int n) { int i = 0,j = n; // поставить указатели на исходные места int temp, p; p = a; // центральный элемент http://www.cyberforum.ru/cpp-beginners/thread785072.html
C++ Вращения куба
Куб должен быть с закрашенными сторонами. Вращения по x,y,z. Помогите!!!
C++ Пересчёт времени: MM:SS -> HH:MM
программа пересчета велечины временного интервала заданного в минутах и секундах. в велечину, выраженную в часах и в минутах
C++ Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой http://www.cyberforum.ru/cpp-beginners/thread785060.html
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой. Поменять местами в измененной первой строке первое и последнее слово. Можете помочь сделать на с++ или Paskal
C++ Рекурсию в цикл Здравствуйте. У меня есть рекурсивная ф-ия, но глубина вызова довольно большая, в итоге стек переполняется и прога падает. Подскажите, как переписать ее в виде цикла и как вообще в дальнейшем действовать, если понадобиться переписывать ф-ию в цикл. У просто вообще никаких идей нет.... Вот сама ф-ия: void f1 (int num) { arr = 0; for (vector <int>::iterator it = data .begin (); it <... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
13.02.2013, 00:59     *this
Рассмотрим, что происходит:

Во-первых нужно чётко понимать, что сейчас у тебя возвращается УКАЗАТЕЛЬ, да-да. Несмотря на то, что написано
C++
1
return* this
Посмотри в любой учебник, там везде сказано. что ссылки это работа с указателями, но без синтаксиса указателей. То есть у тебя вернётся именно укахзатель, который тут же- внимание- РАЗЫМЕНУЕТСЯ. И создастся впечатление, что вернулся объект. Просто.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

А теперь если написать вот так (без ссылки):

C++
1
const Polinomials Polinomials::operator=(const Polinomials &right)
Что произойдёт? Вернётся САМ объект- но если бы этим дело ограничилось! Компилятор в этом случае будет искать конструктор копирования и если его нет, то вставит свой, который (у меня так написано) "Поведение конструктора копирования, добавляемого компилятором, заключается в создании побитовой копии каждого из членов-данных";

То есть когда ты пытаешься так вот сделать (не использовать ссылку, а возвращать объект), он побитово копирует и по-видимому не то, что тебе надо.

Давай пока на этом остановимся, скажи, у тебя ведь нет конструктора копирования?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru