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

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

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

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

22.06.2014, 02:32. Просмотров 731. Ответов 9
Метки нет (Все метки)

Всем привет!
Мучает меня один вопрос: как грамотнее и безопаснее работать со строками:
1) Создавать экземпляр класса wstring и работать с ним.
2) Создавать строку при помощи wchar_t, затем использовать функции класса wstring для работы с ней.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2014, 02:32     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую?
Посмотрите здесь:

C++ Что лучше использовать, матрицу или списки?
C++ Написать класс для эффективной работы со строками
C++ Что лучше использовать vector или массив
Разработать класс String для работы со строками C++
C++ Класс для работы со строками CString
Создайте класс для работы со строками CString C++
Что лучше использовать, #define или typedef? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.06.2014, 05:10     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #2
Цитата Сообщение от Divergence Посмотреть сообщение
2) Создавать строку при помощи wchar_t,
Строку какую? Покажите процесс.
Divergence
7 / 7 / 0
Регистрация: 19.06.2013
Сообщений: 174
22.06.2014, 05:19  [ТС]     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #3
C++
1
2
wchar_t* stdStr = new wchar_t[30];
stdStr = L "OMG!";
Хотя, у меня подозрение, что выделение памяти тут не имеет вообще никакого смысла и создает утечку...
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.06.2014, 05:37     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #4
Цитата Сообщение от Divergence Посмотреть сообщение
wchar_t* stdStr = new wchar_t[30];
Это же не wstring, поэтому как с этой строкой можно:
Цитата Сообщение от Divergence Посмотреть сообщение
использовать функции класса wstring для работы с ней
?

Добавлено через 2 минуты
Цитата Сообщение от Divergence Посмотреть сообщение
Хотя, у меня подозрение, что выделение памяти тут не имеет вообще никакого смысла и создает утечку...
Выделение памяти тут имеет смысл, если сделать копирование строки в эту память, а не присваивать указателю адрес строкового литерала.
Divergence
7 / 7 / 0
Регистрация: 19.06.2013
Сообщений: 174
22.06.2014, 05:39  [ТС]     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Это же не wstring, поэтому как с этой строкой можно:
Видимо у меня есть некоторые дыры в понимании что есть заголовочные файлы.
Я думал, что там хранится описывающий класс с функциями и их можно использовать не только внутри экземпляра класса, но и со сторонними объектами.
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.06.2014, 05:46     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #6
Цитата Сообщение от Divergence Посмотреть сообщение
Видимо у меня есть некоторые дыры в понимании что есть заголовочные файлы.
Зоголовочные файлы тут при чём? Есть класс, есть методы класса. Нестатические методы класса вызываются объектами класса. Поэтому, чтобы использовать такие методы, нужны объекты класса.
Divergence
7 / 7 / 0
Регистрация: 19.06.2013
Сообщений: 174
22.06.2014, 07:16  [ТС]     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Заголовочные файлы тут при чём? Есть класс, есть методы класса. Нестатические методы класса вызываются объектами класса. Поэтому, чтобы использовать такие методы, нужны объекты класса.
Как Вы думаете, все таки лучше пользоваться wchar_t напрямую, или же создавать объект класса и работать с ним?
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
22.06.2014, 08:39     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #8
Divergence, для начала покажите нормально использование двух предложенных вариантов, а то Вы какую-то ахинею несете.
Voivoid
672 / 275 / 12
Регистрация: 31.03.2013
Сообщений: 1,338
22.06.2014, 11:45     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #9
std::wstring str = L"Hello, World!";

всё, больше ничего изобретать не надо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2014, 16:40     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую?
Еще ссылки по теме:

Какую библиотеку лучше использовать для работы с файлами в с++? C++
Из wchar_t* в wstring или в string C++
C++ Что лучше использовать: псевдокод или блок-схемы?
Что лучше использовать: string или char[]? C++
C++ Что лучше использовать для строк? Массив char или же string?

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

Или воспользуйтесь поиском по форуму:
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.06.2014, 16:40     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую? #10
Цитата Сообщение от Divergence Посмотреть сообщение
создавать объект класса и работать с ним
...
Yandex
Объявления
22.06.2014, 16:40     Что лучше использовать для работы со строками класс wstring или wchar_t напрямую?
Ответ Создать тему
Опции темы

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