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

Перегрузка [] - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Эмуляция нажатия клавиш для SDL http://www.cyberforum.ru/cpp-beginners/thread46467.html
Столкнулся с такой проблемой что на эмуляцию нажатия клавиш, SDL не реагирует. Точнее DOSBox. Пробовал 2 метода (WINAPI), оба не подходят. Походу к SDL надо особое обращение... Помогите плиз. Заранее...
C++ Почему не работает программа задача взята из учебника Дейтел Х. Как програмировать на С++ рис 6.1 вроде все набрал правильно но выдает ошибки вот код: #include "stdafx.h" #include <windows.h> #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread46447.html
C++ Игра Змейка (хвост змеи)
Немогу сообразить каким способом пришить змее хвост.Подкиньте пару идей. PS:грубо,страшно написано но я пока по другому не умею ) #include<iostream> #include<windows.h> #include<conio.h> using...
C++ Ряды. Рекурсия
В общем,у меня задача написать рекурсивно вычисление выражения exp(0.56*x+ln(x^2)) с помощью рядов. Нужно получить число просуммированных членов ряда,обеспечивающих вычисление исходной функции с...
C++ Расчет кол-ва неотрицательных элементов массива http://www.cyberforum.ru/cpp-beginners/thread46362.html
надо найти кол-во не отрицательных элементов массива он выводит какое-то число далеко заходящее за номера элементов #pragma hdrstop #include <iostream.h> #include <stdlib.h>...
C++ Ввод данных. Долго оправдываться что совсем начинающий я не буду). Поставил компилятор Dev-C++, решил проверить как работает - написал программку, которая должна считывать числа и складывать - он... подробнее

Показать сообщение отдельно
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
09.08.2009, 17:52
вот правильные прототипы оператора:
C++
1
2
3
4
5
6
char &operator[](const size_t index) {
  return data[index];
}
const char &operator[](const size_t index) const {
  return data[index];
}
Цитата Сообщение от sledge Посмотреть сообщение
Как компилятор определяет когда и какой оператор[] использовать?
Есть какое-то соглашение?
C++ Primer, Fourth Edition
Providing Read and Write Access
One complication in defining the subscript operator is that we want it to do the right thing when used as either the left- or right-hand operand of an assignment. To appear on the left-hand side, it must yield an lvalue, which we can achieve by specifying the return type as a reference. As long as subscript returns a reference, it can be used on either side of an assignment.

It is also a good idea to be able to subscript const and nonconst objects. When applied to a const object, the return should be a const reference so that it is not usable as the target of an assignment.

Best Practises: Ordinarily, a class that defines subscript needs to define two versions: one that is a nonconst member and returns a reference and one that is a const member and returns a const reference.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru