Форум программистов, компьютерный форум 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
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,592
02.07.2014, 23:22     Как правильно перегрузить оператор [] =
Цитата Сообщение от mh-coder Посмотреть сообщение
фунция должна возвращать ссылку на значение(тоесть адрес), а мы возвращаем *this - это само значение(не адрес), почему оно тогда работает?
Ссылка - это не адрес в общем случае. Адрес - это указатель.
Чтобы объяснить эту концепцию придется поднять определенный пласт знаний, который может быть велик для одного поста. Поэтому объясню проще.
Можно сказать, что ссылка представляет собой другое имя для объекта. Главная мысль, что ссылка, будучи раз инициализированной, неотрывно связана с оригинальным объектом и изменения происходящие с ней отражается на оригинальном объекте. Так что пока жив объект, который представляет this, ссылка будет верна.

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