Строковые операторы C ++ - PullRequest
       18

Строковые операторы C ++

0 голосов
/ 29 сентября 2011

Мне было интересно, можете ли вы сравнить две строки, используя ==.У меня есть функция, которая принимает const value &item и, поскольку ее тип value, я никак не могу определить, какой тип является значением, следовательно, если тип value равен string, == может неРабота.

Отсюда вопрос, как лучше всего решить эту проблему?Я думал о перегрузке оператора ==, но есть ли простой способ?

Ответы [ 3 ]

4 голосов
/ 29 сентября 2011

В C ++ operator == для std::string сравнивает содержимое строк.

2 голосов
/ 29 сентября 2011

Если строка std::string, для нее уже определен оператор ==.Он сравнивает содержимое строк.

Если это строка C (char*), сравнение - это сравнение указателей, которое сообщает нам, указывают ли указатели на одну и ту же строку.Вы также не можете перегрузить это, поскольку это встроенный оператор.

1 голос
/ 29 сентября 2011

Для std::string уже реализована группа операторов (сравните std::string и const char* и т. Д.)

Если у вас есть пользовательский тип, вам нужно будет предоставить операторов для них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...