สมมติว่าฉันมีรหัสต่อไปนี้:
#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
เท่าที่ฉันรู้ชนิดข้อมูลที่แตกต่างไม่สามารถเปรียบเทียบได้ ฉันหายไปนี่อะไร
6
basic_string / operator_cmp ((7) ในกรณีของคุณ)
—
Jarod42
Fwiw ตราบใดที่ประเภทหนึ่งสามารถแปลงเป็นประเภทอื่นได้โดยทั่วไปคุณสามารถเปรียบเทียบได้ คุณสามารถเริ่มต้น a
—
NathanOliver
std::string
จาก c-string