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

Как правильно перегрузить оператор [] = - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Expected unqualified-id before '{' token http://www.cyberforum.ru/cpp-beginners/thread1221440.html
#include <QCoreApplication> #include <iostream> #include <math.h> using namespace std; float func(float x); { float f=asin(x)-sin(2*x); return f;
C++ Оконные приложения в Visual Studio C++. Посоветуйте книгу или уроки Подскажите книжку или обучающие сайты, где рассказывается о том, как создавать приложения в Visual Studio на C++. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1221433.html
C++ Как востановить поврежденный файл
На летнюю практику надо написать программу, которая проверяет если не поврежден файл, если поврежден то восстанавливает его. Язык программирования С + + или С #. Объясните с чего начать, потому что...
Класс rationalNumbers С конструктором и перегруженными операциями + и - C++
Дана задача помогите решить С++ Создайте класс rationalNumbers со следующими возможностями: Создайте конструктор, который предотвращает равенство нулю знаменателя дроби. Перегрузите операции...
C++ Работа с динамическими стеками - ошибка http://www.cyberforum.ru/cpp-beginners/thread1221414.html
Имеется задача: Задание: смоделировать стек на основе односвязного списка и решить на этой структуре задачу по варианту из списка ниже. Создать интерактивное приложение с возможностью выбора...
C++ Класс POINT (ТОЧКА), который может вводить и выводить точки с заданными координатами Создайте класс POINT (ТОЧКА), который может вводить и выводить точки с заданными координатами. Создайте 5 объектов класса POINT ПОМОГИТЕ С++ подробнее

Показать сообщение отдельно
DrOffset
7351 / 4451 / 1009
Регистрация: 30.01.2014
Сообщений: 7,292
02.07.2014, 23:22
Цитата Сообщение от mh-coder Посмотреть сообщение
фунция должна возвращать ссылку на значение(тоесть адрес), а мы возвращаем *this - это само значение(не адрес), почему оно тогда работает?
Ссылка - это не адрес в общем случае. Адрес - это указатель.
Чтобы объяснить эту концепцию придется поднять определенный пласт знаний, который может быть велик для одного поста. Поэтому объясню проще.
Можно сказать, что ссылка представляет собой другое имя для объекта. Главная мысль, что ссылка, будучи раз инициализированной, неотрывно связана с оригинальным объектом и изменения происходящие с ней отражается на оригинальном объекте. Так что пока жив объект, который представляет this, ссылка будет верна.

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