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

C++

Войти
Регистрация
Восстановить пароль
 
 
isrepeat
0 / 0 / 0
Регистрация: 14.08.2016
Сообщений: 11
#1

Перегрузка многомерной индексации - C++

14.08.2016, 05:43. Просмотров 690. Ответов 23
Метки нет (Все метки)

C++
1
2
3
4
5
6
struct Matrix
{
    int m[2][5][3];
    Matrix() {}
    ... operator[](int n) {return ...;}
};
Как перегрузить индексацию в классе чтобы можно было работать с массивом так:

C++
1
2
3
4
5
int main()
{
     Matrix M;
     cout << M[1][0][1];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2016, 05:43     Перегрузка многомерной индексации
Посмотрите здесь:

Перегрузка индексации - C++
Здраствуйте. Подскажите пожалуйста, как перегрузить операцию двойной индексации. Это нужно чтобы получить доступ к элементу двумерного...

Перегрузка двойной индексации - C++
есть класс с динамическим двумерным массивом. Нужно реализовать индексацию типа m class matrix{ private: int...

Перегрузка оператора индексации - C++
Можно ли зоздать в своем классе перегрузку оператора , но с двойными скобками вроде? int &amp;operator(int m,int n) { /*.....*/}

Перегрузка оператора индексации - C++
Доброго вам времени суток, у меня появилась проблема з перезагузкой оператора индексации (),вот мой код: MyVectorClass.h #include...

Перегрузка оператора индексации [] - C++
Необходимо перегрузить оператор индексации двумя способами, первый я реализовал #pragma once #include &lt;iostream&gt; using namespace...

Перегрузка оператора индексации [] - C++
Имеется некоторый класс почти массив. &quot;Почти&quot; - потому что элементы лежат в памяти не по байтам, а по битам и, соответственно, для...

Перегрузка оператора индексации - C++
class matrix{ double **c; int m;//кол-во строк int n;//кол-во столбцов } - часть кода подскажите, пож-ста, как перегрузить ()...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
isrepeat
0 / 0 / 0
Регистрация: 14.08.2016
Сообщений: 11
19.08.2016, 18:44  [ТС]     Перегрузка многомерной индексации #21
Avazart, зачем усложнять себе жизнь когда есть такой способ:
C++
1
2
3
4
5
6
7
8
9
10
class matrix
{
private:
    int m[10][10][10];
public:
    int (&operator[](const unsigned i))[10][10]
    {
        return m[i];
    }
};
во-первых меньше места занимает, во-вторых намного легче поменять размерность (просто в двух местах дописать [N] и получится матрица к примеру 4х4), да и читается понятнее нежели с векторами и строками.
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,285
Записей в блоге: 17
19.08.2016, 19:12     Перегрузка многомерной индексации #22
Цитата Сообщение от isrepeat Посмотреть сообщение
Avazart, зачем усложнять себе жизнь когда есть такой способ:
Что бы можно было управлять размерами в динамике.
isrepeat
0 / 0 / 0
Регистрация: 14.08.2016
Сообщений: 11
19.08.2016, 19:24  [ТС]     Перегрузка многомерной индексации #23
ясно. мне же важна быстрая работа с массивами, поэтому динамику использовать не могу.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2016, 19:25     Перегрузка многомерной индексации
Еще ссылки по теме:

Перегрузка оператора индексации в списке - C++
Доброго времени суток. Имеется список, внутри которого соответственно структура, имеющая элемент данных int и две ссылки вперед/назад ...

Перегрузка индексации двумерного динам. массива - C++
решил реализовать такое: обращение к эл-ту двумерного массива происходит следующим образом а, я решил перегрузить чтобы обращаться к...

Перегрузка оператора индексации для связанного списка - C++
Доброго времени суток!:) Требуется перегрузить оператор индексации для связанного списка, я так понимаю в роли списка должны выступать...

Перегрузка оператора индексации в одном классе и использование в другом - C++
Вообщем проблема состоит в том, что не понимаю как это сделать. Есть класс Document в нем есть вектор vec состоящий из Item'ов. В классе...

Перегрузка оператора индексации для класса плохо себя ведёт - C++
Собственно, есть такое дело. #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,285
Записей в блоге: 17
19.08.2016, 19:25     Перегрузка многомерной индексации #24
Цитата Сообщение от isrepeat Посмотреть сообщение
ясно. мне же важна быстрая работа с массивами, поэтому динамику использовать не могу.
Ну тогда std::array<>
Yandex
Объявления
19.08.2016, 19:25     Перегрузка многомерной индексации
Ответ Создать тему
Опции темы

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