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

new выделяет больше памяти, чем задано - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
TempuSFatumA
 Аватар для TempuSFatumA
1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 87
11.04.2013, 22:09     new выделяет больше памяти, чем задано #1
Здравия желаю!

При запуске программы с кодом
C++
1
2
3
4
5
6
7
8
void main()
{
    char *p;
    p=new char[5];
    cout<<strlen(p);
    _getch();
    delete []p;
}
вывод: 24.

Если при отладке посмотреть значение переменной получается массив из символов НННННээээ<<<<<<<<юоюоюою (как раз 24). Количество Н совпадает с размером нужной для выделения памяти. Почему так происходит?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 22:09     new выделяет больше памяти, чем задано
Посмотрите здесь:

C++ Задано трехзначное число. Определить, какая из его цифр больше: первая или последняя.
Подсчитать во сколько раз русских букв больше чем английских C++
char массив, get(), ввести больше символов чем в массиве C++
Определить, что положительных чисел больше, чем отрицательных C++
Определить, встречается ли цифра M в числе Р больше чем 2 раза C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2013, 06:36     new выделяет больше памяти, чем задано
Еще ссылки по теме:

Морской бой: расставляется кораблей больше, чем положено C++
Задано число. Разместите в памяти последовательно все его цифры, используя указатели и операции над ними C++
Не могу понять в чем утечка памяти C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
12.04.2013, 06:36     new выделяет больше памяти, чем задано #21
В студии есть не стандартная функция _msize. Размер можно узнать с помощью неё
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
12.04.2013, 06:36     new выделяет больше памяти, чем задано
Ответ Создать тему
Опции темы

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