ในส่วนนี้ เราจะดูความแตกต่างระหว่าง string และ char[] ใน C++ char[] คือ array ของ characters โดยพื้นฐาน ดังนั้นมีคุณสมบัติของ array บางอย่าง คุณสมบัติเหล่านี้ระบุด้านล่าง
ถ้า char[] ถูกจัดสรรในส่วน stack จะใช้พื้นที่ 256 bytes เสมอ ไม่ขึ้นกับขนาดของข้อความ
ถ้าเราใช้ malloc() หรือ calloc() เพื่อจัดสรรพื้นที่แบบ dynamic เข้าไปใน heap section เราจะต้องรับผิดชอบในการปล่อยหน่วยความจำหลังใช้งาน และเราจะมี overhead ของการจัดสรร heap เสมอ
ถ้าขนาดของ character array ใหญ่กว่า 256 characters โปรแกรมอาจ crash อาจสร้าง assertion message ที่醜陋ในโค้ดของเรา
เพื่อหาความยาวของ string เราต้องสแกน character array ทั้งหมดจนกว่าจะถึง character '\0' ทุกครั้ง
สำหรับ C++ มี string ใน standard namespace นี้ string เป็น class และมี character array อยู่ภายใน มันจัดการอัตโนมัติให้ผู้ใช้ ในกรณีส่วนใหญ่ built-in array สำหรับ string คือ 16 characters ดังนั้นสำหรับสตริงสั้นๆ มันไม่ fragment string แต่สำหรับสตริงยาว มันใช้ heap section
C++ string มี built-in '\0' characters มันเก็บความยาวของ string โดยไม่นับ นอกจากนี้สำหรับข้อความสั้น ไม่ใช้ heap จึงป้องกัน buffer overruns และ strings ใช้งานง่ายใน C++