ฉันรู้ว่าฉันเคยได้ยินบ่อยๆว่า C มักจะมีข้อได้เปรียบด้านประสิทธิภาพมากกว่า C ++ ฉันไม่ได้คิดอย่างอื่นจนกว่าฉันจะรู้ว่า MSVC ดูเหมือนจะไม่สนับสนุนมาตรฐานใหม่ล่าสุดของ C แต่รุ่นล่าสุดรองรับ C99 (เท่าที่ฉันรู้)
ฉันวางแผนที่จะเขียนไลบรารีด้วยโค้ดบางอย่างเพื่อให้แสดงผลใน OpenGL เพื่อให้ฉันสามารถนำมาใช้ซ้ำได้ ฉันวางแผนที่จะเขียนไลบรารีใน C เนื่องจากการเพิ่มประสิทธิภาพใด ๆ ก็ยินดีต้อนรับเมื่อมันมาถึงกราฟิก
แต่มันจะคุ้มหรือไม่ รหัสที่ใช้ไลบรารีน่าจะเขียนใน C ++ และฉันต้องการรหัสใน C ++ โดยทั่วไป
อย่างไรก็ตามถ้ามันสร้างความแตกต่างเล็กน้อยในการแสดงฉันก็น่าจะไปกับ C
อาจสังเกตได้ว่าห้องสมุดนี้จะเป็นสิ่งที่ฉันจะใช้ในการทำงานกับ Windows / OS X / Linux และฉันอาจรวบรวมทุกอย่างโดยพื้นฐาน (MSVC สำหรับ Windows, Clang หรือ GCC สำหรับ OS X และ GCC สำหรับ Linux .. . หรือคอมไพเลอร์ของ Intel สำหรับทุกสิ่ง)
ฉันได้ดูไปรอบ ๆ และฉันพบว่ามีการเปรียบเทียบและเช่นนั้น แต่ทุกสิ่งที่ฉันเห็นได้เกี่ยวข้องกับ GCC มากกว่า MSVC และ Clang นอกจากนี้มาตรฐานไม่ได้พูดถึงมาตรฐานของภาษาที่ใช้ ใครมีความคิดเห็นเกี่ยวกับเรื่องนี้?
แก้ไข:ฉันแค่อยากจะแบ่งปันมุมมองของฉันกับคำถามนี้หลังจากประสบการณ์มากขึ้นสองปี ฉันสิ้นสุดโครงการที่ฉันถามคำถามนี้ใน C ++ ฉันเริ่มโครงการอื่นในเวลาเดียวกันใน C เนื่องจากเรากำลังมองหาประสิทธิภาพเล็กน้อยที่เราสามารถทำได้และต้องการให้โครงการเชื่อมโยงได้ใน C สองสามเดือนที่ผ่านมาฉันมาถึงจุดที่ฉันต้องการแผนที่และขั้นสูง การจัดการสตริง ฉันรู้ถึงความสามารถนี้ในไลบรารีมาตรฐาน C ++ และในที่สุดก็มาถึงข้อสรุปว่าโครงสร้างเหล่านั้นในไลบรารีมาตรฐานน่าจะมีประสิทธิภาพสูงกว่าและมีเสถียรภาพมากกว่าแผนที่และสายอักขระที่ฉันสามารถนำไปใช้ใน C ในเวลาที่เหมาะสม ความต้องการที่จะเชื่อมโยงใน C นั้นเป็นที่พอใจอย่างง่ายดายโดยการเขียนอินเตอร์เฟส C ไปยังโค้ด C ++ ซึ่งทำได้อย่างรวดเร็วด้วยประเภททึบแสง การเขียนซ้ำไลบรารีใน C ++ ดูเหมือนจะเร็วกว่าเมื่อเขียนใน C และมีแนวโน้มที่จะเกิดข้อบกพร่องน้อยกว่าโดยเฉพาะอย่างยิ่งการรั่วไหลของหน่วยความจำ ฉันยังสามารถใช้ไลบรารีเธรดไลบรารีมาตรฐานซึ่งทำได้ง่ายกว่าการใช้แอปพลิเคชันเฉพาะแพลตฟอร์ม ในท้ายที่สุดฉันเชื่อว่าการเขียนห้องสมุดใน C ++ นำไปสู่ผลประโยชน์ที่ยอดเยี่ยมด้วยค่าใช้จ่ายด้านประสิทธิภาพที่เล็กน้อย ฉันยังไม่ได้ทำการเปรียบเทียบเวอร์ชัน C ++ แต่ฉันเชื่อว่าอาจเป็นไปได้ว่าฉันได้รับประสิทธิภาพบางอย่างโดยใช้โครงสร้างข้อมูลไลบรารีมาตรฐานมากกว่าที่ฉันเขียน ฉันเชื่อว่าการเขียนไลบรารี่ใน C ++ นำไปสู่ผลประโยชน์ที่ยอดเยี่ยมโดยมีค่าใช้จ่ายเล็กน้อย ฉันยังไม่ได้ทำการเปรียบเทียบเวอร์ชัน C ++ แต่ฉันเชื่อว่าอาจเป็นไปได้ว่าฉันได้รับประสิทธิภาพบางอย่างโดยใช้โครงสร้างข้อมูลไลบรารีมาตรฐานมากกว่าที่ฉันเขียน ฉันเชื่อว่าการเขียนไลบรารี่ใน C ++ นำไปสู่ผลประโยชน์ที่ยอดเยี่ยมโดยมีค่าใช้จ่ายเล็กน้อย ฉันยังไม่ได้ทำการเปรียบเทียบเวอร์ชัน C ++ แต่ฉันเชื่อว่าอาจเป็นไปได้ว่าฉันได้รับประสิทธิภาพบางอย่างโดยใช้โครงสร้างข้อมูลไลบรารีมาตรฐานมากกว่าที่ฉันเขียน