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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
#1

Массивы - C++

26.11.2013, 20:12. Просмотров 178. Ответов 5
Метки нет (Все метки)

Что означает вот такой код?
C++
1
int *temp = new int[];
Мы получается можем в любой момент задавать любые значения его ячейкам и он будет выделять для этого память?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2013, 20:12     Массивы
Посмотрите здесь:

массивы в С++ C++
C++ Массивы в С++
Массивы C++
Массивы C++
Массивы C++
C++ Массивы
массивы C++
C++ Массивы в С++
массивы C++
C++ Массивы
Массивы и for C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
26.11.2013, 20:18     Массивы #2
kebal, да, new - это функция для выделения памяти под определенное количество значений определенного типа.

Добавлено через 1 минуту
C++
1
int *a = new int [3];
Выделит память в 12 байт под 3 значения типа int
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
26.11.2013, 20:19  [ТС]     Массивы #3
Цитата Сообщение от metaluga145 Посмотреть сообщение
kebal, да, new - это функция для выделения памяти под определенное количество значений определенного типа.
Но я как раз не указал этого определенного количества, поэтому мне и интересно что оно делает.
Дело в том, что
C++
1
2
3
int *tmp = new int[];
delete[] tmp;
tmp = new int[10];
и
C++
1
2
3
int *tmp = new int[10];
delete[] tmp;
tmp = new int[10]
приводит к различным результатам
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
26.11.2013, 20:25     Массивы #4
kebal,
C++
1
int *tmp = new int[];
После вызова new, tmp == NULL. Вызов оператор delete[] для значения NULL является ошибкой.
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
26.11.2013, 20:28  [ТС]     Массивы #5
tmp не равняется Null, вы ошибаетесь. Я проверил, оно имеет значение. И указывает на мусор.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
26.11.2013, 20:43     Массивы #6
kebal, согласен, ошибся. очень странно, что позволяется вызов оператора без параметров, ибо параметров по умолчанию у него нету и перегруженного оператора без параметров тоже нету. не знаю в чем проблема.
Yandex
Объявления
26.11.2013, 20:43     Массивы
Ответ Создать тему
Опции темы

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