Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при удалении из односвязного списка https://www.cyberforum.ru/ cpp-beginners/ thread1898912.html
Написал код, но при удалении элемента из списка у которого есть значение 2 выдаёт ошибку. Помогите разобраться в чём проблема?? #include<iostream> #include<conio.h> #include<stdio.h>...
C++ Реализовать поиск и сортировку по заданному полю в списке объектов пользовательского типа
Доброго времени суток. Дали задачу "Запись о багаже пассажира содержит: фамилия, номер рейса, дата время вылета, пункт назначения, кол-во мест багажа, суммарный вес багажа. Написать программу которая...
Ошибка request for member 'x' in C++
Здравствуйте,почему не работает код: #include <iostream> #include <queue> #include <string> #include <vector> using namespace std; struct cord { public:
C++ Проверить для каждого слова, можно ли его составить из букв из словаря Вводится число n. Далее вводится словарь из n букв. Буквы могут повторяться. Далее вводится предложение из нескольких слов. Слова разделяются пробелом Проверить для каждого слова, можно ли его... https://www.cyberforum.ru/ cpp-beginners/ thread1898873.html
C++ Подлатать функцию для массива https://www.cyberforum.ru/ cpp-beginners/ thread1898867.html
День добрый! Захотел собственно в (1) избавиться от всего в main() кроме вызова. (т.е. сделать createArray как 2ю функцию) Но собственно столкнулся с проблемкой: а что собственно мне надо вернуть в...
Сообщение об отсутсвии mfc100u.dll C++
Запускаю .exe на голой винде, получаю такой error: "The program can't start because mfc100u.dll is missing...". Поставил рантайм отсюда, перезагрузил - проблема осталась. Кто что подскажет? ...
C++ Создать массив a[i],b[i],c[i] и хранить префиксы и суффиксы
Всем привет ,есть такая задача не могу её сделать. Нужно создать три массива a,b,c и сохранить их префиксы b = a a ... * a и их суффиксы c = a a .... * a Как сделать ? помогите плиз!
C++ Подсчитать количество повторений символов входящих в состав введенной строки Задача: написать программу, которая считает, сколько раз каждый символ, входящий в состав введенной строки, встречается в ней. Информацию по каждому символу выводить 1 раз. Помогите пожалуйста,... https://www.cyberforum.ru/ cpp-beginners/ thread1898845.html
C++ Удалить из массива первую группу элементов, представляющих собой знакочередующийся ряд https://www.cyberforum.ru/ cpp-beginners/ thread1898841.html
Ребят, всем здрасьте. Такое дело, учусь на факультете Компьютерных Наук на дизайнера, но добавили предмет алгоритмизация и программирование в С++. Дали задание а я не бум-бум, помогите плиз. ...
C++ Как вставлять код в тему? Простите пожалуйста за тупой вопрос, но я не могу понять, как вставлять код в тему, не картинкой?.. https://www.cyberforum.ru/ cpp-beginners/ thread1898836.html
(80 / 20 || 50 / 50) = x
1654 / 1126 / 433
Регистрация: 16.08.2014
Сообщений: 4,709
Записей в блоге: 1
0

Вызов operator[] через operator[] const

12.01.2017, 16:31. Просмотров 893. Ответов 5
Метки (Все метки)

Перелистывал Майерса, наткнулся на код, подскажите пожалуйста почему он советует закомментированный вариант кода, не проще сделать как сейчас есть?

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
#include <iostream>
 
class Integer
{
public:
    const int& operator[](unsigned int i) const
    {
        std::cout << "const int& Integer::operator[](unsigned int) const"
            << std::endl;
 
        // return p[i];
        return const_cast<Integer&>(*this)[i];
    }
    int& operator[](unsigned int i)
    {
        std::cout << "int& Integer::operator[](unsigned int)"
            << std::endl;
 
        // return const_cast<int&>(static_cast<const Integer&>(*this)[i] );
        return p[i];
    }
 
private:
    int* p;
};


Вернуться к обсуждению:
Вызов operator[] через operator[] const
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2017, 16:31
Готовые ответы и решения:

char operator[](unsigned short offset) const; // что означает const?
Собстенно вопрос уже озвучен :).

Что это bool operator== (const CLASS&) const;
Что это? class CLASS { public: bool operator== (const CLASS&amp;) const; ...

Реализация operator + через operator +=
внутри следующей темы возник вопрос, ответ на который так и не был получен:...

Operator[] и const map
Привет всем! Что за фигня? Оператор доступа по индексу не работает с константной мапой!...

5
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.