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

Массив указателей - C++

Восстановить пароль Регистрация
 
casper007
61 / 61 / 21
Регистрация: 12.12.2013
Сообщений: 375
27.01.2014, 15:55     Массив указателей #1
Допустим имеем массив, размерностью 20. Если выделять память динамически следующим образом:
C++
1
2
WCHAR *name[40];
*name = new WCHAR;
то память выделяется для хранения под все 20 символов, или нет? (используется юникод)
P.S. нужно выделить память под хранение имени человека.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
27.01.2014, 16:02     Массив указателей #2
C++
1
WCHAR *name[40];
массив указателей на WCHAR
C++
1
*name = new WCHAR;
в первый элемент массива записали адрес где было выделено пространство под 1 символ WCHAR, что Вы вообще хотели ?
casper007
61 / 61 / 21
Регистрация: 12.12.2013
Сообщений: 375
27.01.2014, 16:06  [ТС]     Массив указателей #3
aLarman, мне нужно, чтобы во весь массив можно было бы записать имя. записывать по буквам.ФЕДОР = 0-Ф, 1-Е, 2-Д, 3-О, 4-Р, а оставшиеся = 0
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
27.01.2014, 16:07     Массив указателей #4
C++
1
WCHAR name[40];
а что так низя?
а лучше уж wstring использовать
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
27.01.2014, 16:10     Массив указателей #5
Ваш код делает следующее: сздает массив указателей на WCHAR размером 40 элементов и выделяет память для первого элемента размером 1 WCHAR,

C++
1
2
3
4
5
WCHAR name[NAME_SIZE]; //стэк алок
//или
WCHAR *name = new WCHAR[NAME_SIZE]; //куча
// а лучше
std::wstring name; //но не портируемо
Yandex
Объявления
27.01.2014, 16:10     Массив указателей
Ответ Создать тему
Опции темы

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