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

Почему при создании динамического массива через new ячейки массива имеют значение -842150451? - C++

Восстановить пароль Регистрация
 
QAngry
1 / 1 / 0
Регистрация: 18.07.2013
Сообщений: 5
05.10.2015, 11:18     Почему при создании динамического массива через new ячейки массива имеют значение -842150451? #1
Я хотел бы узнать почему при создании динамического массива через операцию new ячейки массива имеют значение -842150451.

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
using namespace std;
 
int main(){
    int * arr = new int [10];
    for(int i = 0; i < 10; i++)
        cout << arr[i] << endl;
        delete [] arr;
    system("pause");
    return 0;
}
Миниатюры
Почему при создании динамического массива через new ячейки массива имеют значение -842150451?  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2015, 11:18     Почему при создании динамического массива через new ячейки массива имеют значение -842150451?
Посмотрите здесь:

Передача динамического двумерного массива через параметры C++
Как посмотреть значение динамического массива C++
C++ Ошибка при создании динамического массива.
Ругается new при создании динамического массива через перегруженный конструктор C++
C++ Проблемой при создании массива через переменную
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UltraPenguin
222 / 88 / 22
Регистрация: 20.03.2014
Сообщений: 296
Завершенные тесты: 1
05.10.2015, 11:20     Почему при создании динамического массива через new ячейки массива имеют значение -842150451? #2
Просто потому, что участок памяти до момента ассоциации его с вашим массивом был заполнен этими значениями.
Operok
126 / 124 / 33
Регистрация: 15.02.2015
Сообщений: 386
Завершенные тесты: 2
05.10.2015, 11:31     Почему при создании динамического массива через new ячейки массива имеют значение -842150451? #3
C++
1
2
3
int * arr = new int [10]{};
//или
int * arr = new int [10]();
будет инициализация нулями.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
05.10.2015, 11:34     Почему при создании динамического массива через new ячейки массива имеют значение -842150451? #4
Цитата Сообщение от Operok Посмотреть сообщение
int * arr = new int [10]{};
C++
1
int * arr = new int [10]();
То же самое, но c++11 не нужен.
Yandex
Объявления
05.10.2015, 11:34     Почему при создании динамического массива через new ячейки массива имеют значение -842150451?
Ответ Создать тему
Опции темы

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