![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| lv151 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
Как правильно определять, что строка пустая - (str == "") или (GetLength() == 0) ?
|
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 2 Всего: 26 |
lv151, а str это что?
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Добавлено через 1 минуту и 29 секунд lv151 если речь идет об std::string |
|||
|
||||
| lv151 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
CString
IsEmpty() - тоже есть. Это сообщение отредактировал(а) lv151 - 13.4.2009, 12:07 |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
lv151, Пометь решенным!
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| inside_pointer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: 5 Всего: 12 |
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
inside_pointer
лишь бы что нибудь написать? вы предыдущие посты прочли? это CString, класс МФЦ, причем вопрос давно решен |
|||
|
||||
| inside_pointer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: 5 Всего: 12 |
azesmcar, а что неправильного ? у неё указателя нет, или он указывает не на первый символ ?
Это сообщение отредактировал(а) inside_pointer - 15.4.2009, 10:55 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
*str - это ведь не внутренний указатель. Это char* (по всей видимости). И даже если есть, почему правильнее проверять внутренний указатель чем собственно функцией empty, которая кстати говоря с большой долей вероятности инлайн и существует как раз для этой проверки.
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
одно то что первый символ находится по индексу 1, а не 0 уже должен предостеречь о таких действий. а вобще надо стараться не использовать знания о внутренней структуре объекта, и использовать методы предоставляеммые классом. |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
|
|||
|
||||
| zim22 |
|
||||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
не работает. т.к. operator== string'a не предназначен для сравнения с char
|
||||
|
|||||
| inside_pointer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: 5 Всего: 12 |
у Страуструпа в электронной книжке нашёл такое описание, тогда конечно не прокатит, так как указатель у такой строки будет на структуру и, если даже всё таки он первый символ строки выдаст, это будет сопадением (ну типа char *p идёт первым в структуре) хотя, нашёл ещё такое: если указатель на структуру приводится к типу указателя на её первый элемент, результат указывает на её первый элемент |
|||
|
||||
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
естественно и логично, также как и для сравнения char* и char. но это совсем не то, о чем вел речь inside_pointer. Он предлогал использовать разъименование, и не работать будет по причине отсутвия у std::string operatora * (Про АнсиСтринг сказать не могу.)
Добавлено через 3 минуты и 35 секунд
1. И где здесь приведение к типу указателя на его первый элемент ? 2. и с какой стати нужное Вам, должно оказаться первым элементом ?! |
||||||
|
|||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |