【发布时间】:2020-04-16 19:50:36
【问题描述】:
假设我有以下代码:
#include <iostream>
#include <string>
#include <iomanip>
using namespace std; // or std::
int main()
{
string s1{ "Apple" };
cout << boolalpha;
cout << (s1 == "Apple") << endl; //true
}
我的问题是:系统如何在这两者之间进行检查? s1 是一个对象,而 "Apple" 是一个 C 风格的字符串 文字。
据我所知,无法比较不同的数据类型。我在这里错过了什么?
【问题讨论】:
-
basic_string/operator_cmp(在你的情况下是(7))。
-
Fwiw,只要一种类型可以转换成另一种,一般都可以比较。您可以从 c 字符串初始化
std::string。
标签: c++ comparison c-strings stdstring c++-standard-library