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

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

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

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

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

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

Из wchar_t* в wstring или в string - C++
Как перевести из wchar_t* в wstring или в string ? Почему столько геморроя со строками... Есть функция, которая принимает wstring и...

Что лучше использовать для строк? Массив char или же string? - C++
Только не давно начал изучать с++, подскажите что лучше использовать для строк? Массив char или же string? И могу я ограничить себя...

Что лучше использовать: string или char[]? - C++
Ребят, я только начинаю учить c++. Подскажите что лучше использовать string или же char

Что лучше использовать, #define или typedef? - C++
Вот привожу пример программы. Здесь можно и с #define сделать и с typedef. Программа в любом случае будет прекрасно работать. Там что же...

Что лучше использовать vector или массив - C++
Что лучше использовать и когда vector или массив ?

Что лучше использовать, матрицу или списки? - C++
Задание: Дан граф, определить является ли он связным. Подскажите пожалуйста, при выполнении этого задания лучше использовать матрицу...

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

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

всё, больше ничего изобретать не надо
1
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.06.2014, 16:40 #10
Цитата Сообщение от Divergence Посмотреть сообщение
создавать объект класса и работать с ним
...
0
22.06.2014, 16:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2014, 16:40
Привет! Вот еще темы с ответами:

Класс для работы со строками CString - C++
Написать текстовый редактор с параметрами 1. Вставка в начало 2. Копирование строк 3. Поиск в строке Мне непонятна одна вещь: как...

Создать класс для работы сo строками - C++
Создать класс для работы сo строками. Разработать элементы класса: a. Поля: * указатель на char - хранит адрес динамически выделенной...

Реализовать класс для работы со строками - C++
Пожалуйста помогите с заданием Необходимо реализовать класс TString. В процессе выполнения задания нельзя пользоваться классом...

Что лучше использовать: псевдокод или блок-схемы? - C++
Я вроде в какой то книжке читал, что лучше использовать псевдокод. Так ли это?


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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