crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QString length() vs count()
RazrFalcon
  опции профиля:
сообщение 8.8.2012, 18:48
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Что быстрее работает? И есть ли вообще разница?

Из доки:
Цитата
int QString::count ( const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const

Returns the number of (potentially overlapping) occurrences of the string str in this string.
If cs is Qt::CaseSensitive (default), the search is case sensitive; otherwise the search is case insensitive.
и
Цитата
int QString::length () const

Returns the number of characters in this string. Equivalent to size().

Как я понимаю length лучше использовать, в тех же циклах. Да?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 8.8.2012, 19:20
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Сейчас посмотрел исходники Qt 4.7

class QString {
inline int size() const { return d->size; }                                                              
inline int count() const { return d->size; }      
}

inline int QString::length() const                                                                          
{ return d->size; }

Т.е. все три метода абсолютно одинаковы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 8.8.2012, 19:22
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


это же разные функции :

Цитата
length () Equivalent to size().
- размер в литерах

Цитата
count () Returns the number of (potentially overlapping) occurrences of the string str in this string.
- считает количество вхождений строки-параметра в данной строке (возможно, вхождения перекрываются)


Sokoloff, интересно, что же они в хелпе тогда такое написали ? Или ТС не то скопипастил ? )

ааа, дошло! Ему нужен вариант без параметров

Сообщение отредактировал Алексей1153 - 8.8.2012, 19:22
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 8.8.2012, 19:23
Сообщение #4


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Цитата(Алексей1153 @ 8.8.2012, 19:21) *
это же разные функции

Как оказалось - нет =/
если запускать просто count() - то будет просто количество символов
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 8.8.2012, 19:23
Сообщение #5


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


RazrFalcon, ага, я уже сообразил. Но ты то показал цитату с параметрами
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 8.8.2012, 19:27
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(Алексей1153 @ 8.8.2012, 20:22) *
ааа, дошло! Ему нужен вариант без параметров

Ну да, не тот кусок хелпа вставил.

Вообще кутешники молодцы. С одной стороны 3 функции для одного и того-же, а с дуругой две по сути разные функции обозвали одинаково. Чтоб никто не догадался:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 8.8.2012, 19:33
Сообщение #7


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


RazrFalcon, я бы использовал size() . Это общепринятый метод в STL ))) И в Qt контейнерах тоже, наверное
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 9.8.2012, 8:35
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


а я привык к count...)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 9.8.2012, 18:56
Сообщение #9


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


для меня count - это количество )) Предметов, итераций и тд
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2024, 20:13