|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||||||||||||||||||||||
Многомерный массив и массив массивов20.12.2012, 09:24. Показов 6891. Ответов 66
Метки нет (Все метки)
На паскале это синонимы. Например, всё валидно:
0
|
||||||||||||||||||||||||||
| 20.12.2012, 09:24 | |
|
Ответы с готовыми решениями:
66
Многомерный массив. С++ Многомерный массив
|
|
What a waste!
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
|
||
| 20.12.2012, 11:30 | ||
|
palva, не понял. Вы сказали, что
0
|
||
|
|
|
| 20.12.2012, 11:40 | |
|
char это не объект и операции * и [] имеют в языке предопределенное значение, хотя их можно переопределить. Массив в языке всегда реализуется как указатель на первый элемент, а элементы массива располагаются в памяти последовательно. Массив массивов это массив указателей (указатели расположены в памяти последовательно). Двумерный массив это последовательное расположение в памяти его элементов и никаких дополнительных указателей. Если при имени массива указана только часть индексов (или их вовсе нет), то компилятор интерпретирует это как указатель.
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|||
| 20.12.2012, 11:52 | |||
Двумерный, трехмерный, тысячемерный - без разницы.
0
|
|||
|
|
||||||
| 20.12.2012, 11:54 | ||||||
|
Хотя, я не совсем прав. Если не хватает только одного индекса, то интерпретируется как указатель. Попробовал такой пример:
0
|
||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 20.12.2012, 12:16 | |
|
Не по теме: Сколько угодно называйте бегемота гиппопотамом, от этого он не перестанет быть бегемотом если массив содержит массив указателей, то значит он многомерный массив и хоть убейтесь об стену, ничего не изменится
0
|
|
|
|
|
| 20.12.2012, 12:24 | |
|
Ну можете так считать. В таком массиве не определен диапазон второго индекса. В C# это особый сорт двумерных массивов.
Ну а C существуют настоящие массивы, реализация которых не требует хранения в памяти указателей на каждую строку массива. В них все строки имеют одинаковую длину.
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 20.12.2012, 12:31 | |
|
Что значит могу так считать
А вы докажите, что массив, который содержит массив - это не массив массивов.
0
|
|
|
|
|||
| 20.12.2012, 12:47 | |||
|
0
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|||||
| 20.12.2012, 12:54 | |||||
|
0
|
|||||
|
|
||||||
| 20.12.2012, 12:59 | ||||||
|
Ну вот массив массивов, реализуется конечно с использованием указателей, то есть указатели явно хранятся в памяти и переставлять строки можно переставляя указатели. Это бывает полезно для реализации сортировки строк.
0
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||
| 20.12.2012, 13:55 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 20.12.2012, 14:39 | |
|
taras atavin, Короткий ответ прост: потому что С++ это не Паскаль. И не надо сравнивать. Изучайте спокойно язык, а не задавайтесь вопросом: "почему это есть в одном языке, а в другом нет?"
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 20.12.2012, 14:59 [ТС] | |
|
Я знаю язык и для меня не проблема сделать векторный индекс, интересна именно мотивация Страуструпа.
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||
| 20.12.2012, 15:06 | ||
|
другое удобно в С++ Паскаль позволяет писать по другому, но ни в коем случае не как хочешь. Потому что это разные языки и каждый заточен под свои задачи. мотивация Страуструпа у Страуструпа в книжке написана. Там Введение есть
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 20.12.2012, 15:09 [ТС] | |
|
Что за книжка?
0
|
|
|
What a waste!
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
|
||
| 20.12.2012, 15:13 | ||
|
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||
| 20.12.2012, 15:18 [ТС] | |||||||||||
|
А в чём будет не совместимость? Если
0
|
|||||||||||
|
What a waste!
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
|
|
| 20.12.2012, 15:40 | |
|
taras atavin, и зачем, если есть "неальтернативный" синтаксис? У запятой в С++, как и в С, другое значение, выделять отдельный случай для индексации - ИМХО просто лишняя нагрузка на компилятор, у языка и так грамматика не самая простая. Основной аудитории (знакомым с С) такой способ всё равно вряд ли был нужен. Вообщем, ИМХО, полезность крайне сомнительна. Про совместимость я пожалуй некорректно выразился, просто менять\добавлять что-то в отношении индексации имело бы мало смысла.
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 20.12.2012, 15:47 [ТС] | ||
|
На паскале запятая тоже разделяет параметры. И она же разделяет индексы. Но в чём здесь отдельность? Два индекса - это два операнда, операнд есть параметр оператора, запятая на c/c++ разделяет параметры. Где же здесь намёк на отдельный случай?
Добавлено через 45 секунд
0
|
||
| 20.12.2012, 15:47 | |
|
многомерный массив
Многомерный массив
многомерный массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|