Пользовательские типы как ключ для карты - C++

Вот что я сделал, используя stringByReplacingOccurrencesOfString.

- (BOOL)validateFields
 {
      NSString *temp = [textField.text stringByReplacingOccurrencesOfString:@" "
                                                          withString:@""
                                                             options:NSLiteralSearch
                                                               range:NSMakeRange(0, textField.text.length)];

      if ([temp length] == 0) {
          // Alert view with message @"Please enter something."
          return NO;
      }
 }
23
задан Navaneeth K N 25 May 2009 в 10:51
поделиться

2 ответа

Я подозреваю, что вам понадобится

bool operator<(const Foo& foo1) const;

Обратите внимание на const после аргументов, это делается для того, чтобы «ваш» (левая часть в сравнении) объект константа.

Причина, по которой требуется только один оператор, заключается в том, что этого достаточно для реализации требуемого порядка. Чтобы ответить на абстрактный вопрос "должно ли a предшествовать b?" достаточно знать, меньше ли a, чем b.

32
ответ дан 29 November 2019 в 02:22
поделиться

Вероятно, он ищет константные операторы-члены (каково бы ни было правильное имя). Это работает (примечание const):

bool operator<(const Foo& foo1) const { return foo_value < foo1.foo_value;}

РЕДАКТИРОВАТЬ: удалил оператор> из моего ответа, поскольку он не нужен (копировать / вставить из вопроса), но привлекал комментарии :)

Примечание: Я ' m на 100% уверен, что вам нужна эта const , потому что я скомпилировал пример.

3
ответ дан 29 November 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: