Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
2 / 1 / 1
Регистрация: 22.12.2019
Сообщений: 93

Массив: Разрешает ли стандарт с++ создавать массивы 0 размерности?

25.08.2020, 18:51. Показов 2019. Ответов 8

Студворк — интернет-сервис помощи студентам
Разрешает ли стандарт с++ создавать массивы 0 размерности ?
например:
C++
1
int* a = new int[0];
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.08.2020, 18:51
Ответы с готовыми решениями:

Разрешает ли лицензия Visual Studio Express Edition и MSSQL Express создавать коммерческие проекты
Хотелось бы узнать, разрешает ли лицензия Visual Studio Express Edition и MSSQL Express создавать коммерческие проекты, а также чем...

Дан массив Х размерности n, сформировать массив Y той же размерности
Дан массив Х размерности n.Сформировать массив Y той же размерности,элементы которого вычисляются по следующему правилу: Yo=Xo; ...

научите создавать массивы
вот как мне написать два массива (одномерный\многомерный) и что бы их выводил на экран, я новичок.#include <iostream> #include...

8
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
25.08.2020, 19:02
У меня скомпилировалось и даже смог туда значение присвоить.

Добавлено через 3 минуты

Не по теме:

Эмм, только что узнал, можно и кириллицей пользоваться. Вот оно чё.

1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,260
25.08.2020, 19:19
Цитата Сообщение от Novichekk Посмотреть сообщение
Разрешает ли стандарт с++ создавать массивы 0 размерности ?
Только через new[].

Добавлено через 29 секунд
Цитата Сообщение от ram876 Посмотреть сообщение
и даже смог туда значение присвоить
Куда "туда"?
1
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
25.08.2020, 19:22
Цитата Сообщение от Novichekk Посмотреть сообщение
Разрешает ли стандарт с++ создавать массивы 0 размерности ?
Не разрешает.

Its value N specifies the array bound, i.e., the number of elements in the array; N shall be greater than zero.
http://eel.is/c++draft/dcl.array
1
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
25.08.2020, 19:27
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
"туда"?
C++
1
2
3
int* a = new int[0];
*a = 7;
cout << a[0];
Вот так написал и вывело число 7.
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
25.08.2020, 19:33
Цитата Сообщение от ram876 Посмотреть сообщение
Вот так написал и вывело число 7.
Тем не менее стандарту это не соответствует.

(9.6.2)
When the value of the expression is zero, the allocation function is called to allocate an array with no elements.
http://eel.is/c++draft/expr.new#9.6.2

Добавлено через 1 минуту
А то что "написал и вывело" ничего не значит - это обращение к невыделенной программе памяти.
2
2 / 1 / 1
Регистрация: 22.12.2019
Сообщений: 93
25.08.2020, 19:37  [ТС]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Только через new[].
Т.е. я верно понимаю, что в этом случае new вернет валидный указатель, который нельзя разыменовывать ?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13184 / 6820 / 1821
Регистрация: 18.10.2014
Сообщений: 17,260
25.08.2020, 19:37
Лучший ответ Сообщение было отмечено Novichekk как решение

Решение

Цитата Сообщение от TRam_ Посмотреть сообщение
Не разрешает.
Its value N specifies the array bound, i.e., the number of elements in the array; N shall be greater than zero.
http://eel.is/c++draft/expr.new#9

7.6.2.7 New [expr.new]
9 [...] When the value of the expression is zero, the allocation function is called to allocate an array with no elements.
1
 Аватар для Nishen
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,822
25.08.2020, 19:46
Лучший ответ Сообщение было отмечено Novichekk как решение

Решение

https://herbsutter.com/2009/09... rray-okay/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.08.2020, 19:46
Помогаю со студенческими работами здесь

Массивы случайной размерности
Создайте код, который создает массив случайного размера (от 10 до 100), и заполняет этот массив случайными значениями. Посчитайте сумму...

Массивы большой размерности
Всем привет! Подскажите пожалуйста, как правильно хранить двумерные массивы из сотен тысяч элементов? Особенно интересует, как правильно...

Можно ли создавать массивы объектов?
Можно ли создавать массивы объектов?

Массивы разной размерности в процедуре
uses crt; type amas=array of real; bmas=array of real; Var a:amas;b:bmas; i:integer; min:real; max:real; Procedure...

Заполнение массивы любой размерности
Как заполнить массив любой размерности?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru