สมมติว่าฉันมีรหัสต่อไปนี้:
#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