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

Законно ли использовать указатель wchar_t таким образом? - C++

Восстановить пароль Регистрация
 
Divergence
 Аватар для Divergence
7 / 7 / 0
Регистрация: 19.06.2013
Сообщений: 174
19.06.2014, 02:17     Законно ли использовать указатель wchar_t таким образом? #1
Всем привет!
Меня мучает вопрос:
C++
1
2
wchar_t* wstr;
wstr = L"TROLOLOLOOMGPWNDALL";
У меня выделяется нужное кол-во памяти под эту строку, или же я залезаю за пределы дозволенного?
Просто часто бывает лень для каждой строки писать new wchar_t[n], поэтому, замучил вопрос о законности и правильности вышеописанного кода...
Буду благодарен за ответ =)))
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2014, 02:17     Законно ли использовать указатель wchar_t таким образом?
Посмотрите здесь:

C++ Отсортировать список по возрастанию таким образом
В матрице M x N переставить строки таким образом, чтобы... C++
Дан вещественный массив А (n). Отсортировать его таким образом, чтобы C++
Можно ли задавать условие неравенства вот таким образом C++
C++ Дано некоторый текст. Отредактировать его таким образом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.06.2014, 02:23     Законно ли использовать указатель wchar_t таким образом? #2
Указатель wstr связан со строковым литералом, расположенным в статической памяти. Память под литералами - только для чтения.
Divergence
 Аватар для Divergence
7 / 7 / 0
Регистрация: 19.06.2013
Сообщений: 174
20.06.2014, 03:09  [ТС]     Законно ли использовать указатель wchar_t таким образом? #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Указатель wstr связан со строковым литералом, расположенным в статической памяти. Память под литералами - только для чтения.
Спасибо!
Я правильно понял, что все ок с таким присвоением? =)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.06.2014, 03:15     Законно ли использовать указатель wchar_t таким образом? #4
Цитата Сообщение от Divergence Посмотреть сообщение
Я правильно понял, что все ок с таким присвоением? =)
Если использовать такой указатель только для чтения, то да.
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
20.06.2014, 05:01     Законно ли использовать указатель wchar_t таким образом? #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Divergence Посмотреть сообщение
Я правильно понял, что все ок с таким присвоением? =)
Нет.
C++
1
2
const wchar_t* wstr; // Так правильно
wstr = L"TROLOLOLOOMGPWNDALL";
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.06.2014, 05:12     Законно ли использовать указатель wchar_t таким образом? #6
Цитата Сообщение от gromo Посмотреть сообщение
const wchar_t* wstr; // Так правильно
Я бы сказал, что так правильнее. Поможет выявить попытку записи в память по указателю на страдии компиляции.
Цитата Сообщение от gromo Посмотреть сообщение
Нет.
Да, если:
Цитата Сообщение от alsav22 Посмотреть сообщение
использовать такой указатель только для чтения
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
20.06.2014, 05:25     Законно ли использовать указатель wchar_t таким образом? #7
alsav22, и ругня со стороны компилятора обеспечена
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.06.2014, 05:30     Законно ли использовать указатель wchar_t таким образом? #8
Цитата Сообщение от gromo Посмотреть сообщение
и ругня со стороны компилятора обеспечена
Нет. Предупреждение - это разве ругня? Лёгкое недовольство.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2014, 09:54     Законно ли использовать указатель wchar_t таким образом?
Еще ссылки по теме:

C++ Что лучше использовать для работы со строками класс wstring или wchar_t напрямую?
Зачем использовать Указатель на указатель? C++
C++ Указатель на const двумерный массив wchar_t

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
20.06.2014, 09:54     Законно ли использовать указатель wchar_t таким образом? #9
Цитата Сообщение от alsav22 Посмотреть сообщение
Предупреждение - это разве ругня? Лёгкое недовольство.
Сегодня предупреждение, а завтра может быть и ошибка.
Yandex
Объявления
20.06.2014, 09:54     Законно ли использовать указатель wchar_t таким образом?
Ответ Создать тему
Опции темы

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