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

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

Войти
Регистрация
Восстановить пароль
 
Divergence
7 / 7 / 0
Регистрация: 19.06.2013
Сообщений: 174
#1

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

19.06.2014, 02:17. Просмотров 268. Ответов 8
Метки нет (Все метки)

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

Указатель на const двумерный массив wchar_t - C++
Подскажите, как создать указатель на в функцию приходит (const wchar_t _text) объявляется wchar_t txt = {L"1", L"2"}; ...

Зачем использовать Указатель на указатель? - C++
Подскажите зачем использовать Указатель на указатель? И как работают двумерные массивы за счет указателей?

Отсортировать список по возрастанию таким образом - C++
Необходимо отсортировать список по возрастанию таким образом: максимальный элемент перебрасывается в начало нового списка.помогите))

Дано некоторый текст. Отредактировать его таким образом - C++
Дано некоторый текст. Отредактировать его таким образом, чтобы все символы «.» были заменены на «...», символы «:» на «-», а символы...

Можно ли задавать условие неравенства вот таким образом - C++
Можно ли задавать условие неравенства вот таким образом? if (k==17&& a!=a!=a!=a!=a!=a!=a!=a!=a!=a)

Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? - C++
Всем привет! Мучает меня один вопрос: как грамотнее и безопаснее работать со строками: 1) Создавать экземпляр класса wstring и работать...

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

Дан вещественный массив А (n). Отсортировать его таким образом, чтобы - C++
Задача 45. Дан вещественный массив А (n). Отсор¬тировать его таким образом, чтобы все положительные числа находились в начале, а...

Реализовать процедуру таким образом, чтобы она возвращала 2 значения - C++
Всем привет! Необходимо реализовать процедуру таким образом чтобы она возвращала 2 значения, вместе стандартного 1го.

Преобразовать массив таким образом, чтобы в нем не было повторяющихся чисел - C++
Создать и заполнить случайными числами два целочисленных массива. Преобразовать эти массивы таким образом, чтобы в них не было...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.06.2014, 09:54
Ответ Создать тему
Опции темы

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