รหัส C ปกติรหัส C ++ ที่ถูกต้อง
ปัญหาหลักของ C ++ นั้นใช้อย่างไม่ถูกต้อง ( Linus Torvalds เกลียดมันด้วยเหตุผลนี้เขายังมีปัญหาอื่น ๆ เกี่ยวกับการพกพาของห้องสมุดและอื่น ๆ ด้วยเขาซื้อที่ทำงานในระดับระบบปฏิบัติการและต้องสามารถทำงานทุกอย่างแบบสุ่ม ชิปออกมี)
ตัวอย่างเช่นแทบจะไม่มีประโยชน์ที่จะใช้อาร์เรย์ cstyle [] บน c ++ std :: vector <> (หรือคอนเทนเนอร์ที่คล้ายกัน)
เวกเตอร์เป็นประเภทที่ปลอดภัยและสามารถตรวจสอบขอบเขตได้ (คุณสามารถเข้าถึงองค์ประกอบโดยใช้ get () หรือ [] แม้ว่าคุณจะไม่ได้ใช้วิธีการตรวจสอบอาร์เรย์คุณยังสามารถสืบค้นขนาดแทนที่จะซื้อด้วยตัวชี้)
แต่เวกเตอร์อาจช้าลงได้เช่นถ้าคุณไม่ประกาศขนาดเริ่มต้นในตัวสร้าง การเพิ่มสิ่งต่าง ๆ ลงในเวกเตอร์อาจทำให้การทำงานช้าลงหากจำเป็นต้องปรับขนาด C ++ 11 เพิ่มข้อดีมากมายเช่นการกำหนดค่าเริ่มต้นที่เหมือนกัน (ตอนนี้คุณสามารถประกาศและเตรียมใช้งานเวกเตอร์โดยใช้ไวยากรณ์เดียวกัน) และมีตัวสร้างการย้ายที่สามารถอนุญาตให้คุณหลีกเลี่ยงการคัดลอก คุณสามารถกำหนดค่าเริ่มต้นของคุณเอง (ถ้าคุณต้องการทำสิ่งอื่นนอกเหนือจากการใช้ malloc ด้วยเหตุผลบางอย่าง)
หรือแน่นอนว่าถ้าคุณต้องการปรับขนาดสิ่งต่าง ๆ เวกเตอร์ก็ยังง่ายต่อการทำคุณไม่ต้องยุ่งกับ malloc คัดลอกสิ่งต่าง ๆ ด้วยตนเอง
C ++ ให้โค้ดเชิงวัตถุแก่คุณ เมื่อรวบรวมมันจะมีประสิทธิภาพมากเพราะมันเป็นเพียงนามธรรมสำหรับคนที่ทำงานกับรหัส แม้ว่าสิ่งต่างๆเช่นคอนสตรัคเตอร์สามารถชะลอการสร้างวัตถุได้ แต่คุณจะต้องมีคอนสตรัคเตอร์เพื่อตั้งค่าเริ่มต้นหรือมิฉะนั้นคุณสามารถเริ่มต้นวัตถุโดยไม่ต้องใช้ตัวสร้าง (โดยไม่ต้องใส่เครื่องหมาย ())
แต่การวางแนวทางวัตถุทำให้เกมการเขียนโปรแกรมมากได้ง่ายขึ้น เกมมักจะจัดการกับวัตถุ