ภาษาซีพลัสพลัส (อังกฤษ: C++) เป็นภาษาโปรแกรมคอมพิวเตอร์อเนกประสงค์ มีโครงสร้างภาษาที่มีการจัดชนิดข้อมูลแบบสแตติก (statically typed) และสนับสนุนรูปแบบการเขียนโปรแกรมที่หลากหลาย (multi-paradigm language) ได้แก่ การโปรแกรมเชิงกระบวนคำสั่ง, การนิยามข้อมูล, การโปรแกรมเชิงวัตถุ, และการโปรแกรมแบบเจเนริก (generic programming) ภาษาซีพลัสพลัสเป็นภาษาโปรแกรมเชิงพาณิชย์ที่นิยมมากภาษาหนึ่งนับตั้งแต่ช่วงทศวรรษ 1990
เบียเนอ สเดราสดร็อบ (Bjarne Stroustrup) จากเบลล์แล็บส์ (Bell Labs) เป็นผู้พัฒนาภาษาซีพลัสพลัส (เดิมใช้ชื่อ "C with classes") ในปี ค.ศ. 1983 เพื่อพัฒนาภาษาซีดั้งเดิม สิ่งที่พัฒนาขึ้นเพิ่มเติมนั้นเริ่มจากการเพิ่มเติมการสร้างคลาสจากนั้นก็เพิ่มคุณสมบัติต่างๆ ตามมา ได้แก่ เวอร์ชวลฟังก์ชัน การโอเวอร์โหลดโอเปอเรเตอร์ การสืบทอดหลายสาย เทมเพลต และการจัดการเอกเซพชัน มาตรฐานของภาษาซีพลัสพลัสได้รับการรับรองในปี ค.ศ. 1998 เป็นมาตรฐาน ISO/IEC 14882:1998 เวอร์ชันล่าสุดคือเวอร์ชันในปี ค.ศ. 2003 ซึ่งเป็นมาตรฐาน ISO/IEC 14882:2003 ในปัจจุบันมาตรฐานของภาษาในเวอร์ชันใหม่ (รู้จักกันในชื่อ C++0x) กำลังอยู่ในขั้นพัฒนา
รูปแบบของการออกแบบภาษาซีพลัสพลัส
ภาษาซีพลัสพลัสได้ถูกออกแบบมาเพื่อเป็นภาษาสำหรับการเขียนโปรแกรมทั่วไป สามารถรองรับการเขียนโปรแกรมในระดับภาษาเครื่องได้ เช่นเดียวกับภาษาซี
ในทางทฤษฎี ภาษาซีพลัสพลัสควรจะมีความเร็วเทียบเท่าภาษาซี แต่ในการเขียนโปรแกรมจริงนั้น ภาษาซีพลัสพลัสเป็นภาษาที่มีการเปิดกว้างให้โปรแกรมเมอร์เลือกรูปแบบการเขียนโปรแกรม ซึ่งทำให้มีแนวโน้มที่โปรแกรมเมอร์อาจใช้รูปแบบที่ไม่เหมาะสม ทำให้โปรแกรมที่เขียนมีประสิทธิภาพต่ำกว่าที่ควรจะเป็น และภาษาซีพลัสพลัสนั้นเป็นภาษาที่มีความซับซ้อนมากกว่าภาษาซี จึงทำให้มีโอกาสเกิดบั๊กขณะคอมไพล์มากกว่า
ภาษาซีพลัสพลัสได้รับการออกแบบเพื่อเข้ากันได้กับภาษาซีในเกือบทุกกรณี (ดูเพิ่มเติมที่ Compatibility of C and C++)
มาตรฐานของภาษาซีพลัสพลัส ถูกออกแบบมาเพื่อไม่ให้มีการเจาะจงแพลตฟอร์มคอมพิวเตอร์
ภาษาซีพลัสพลัสถูกออกแบบมาให้รองรับรูปแบบการเขียนโปรแกรมที่หลากหลาย (multi-paradigm)
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!\n";
return 0;
}
ความเข้ากันได้
คอมไพเลอร์ภาษาซีพลัสพลัสที่เป็นที่นิยมรองรับมาตรฐาน C++ 1998 เกือบทั้งหมด
กับภาษาซี
ผู้คนมักจะคิดว่าภาษาซีพลัสพลัสเป็นซูเปอร์เซตของภาษาซี แต่นี่ไม่เป็นความจริงไปทั้งหมด โค้ดภาษาซีส่วนใหญ่สามารถนำมาคอมไพล์ได้อย่างไม่มีปัญหาโดยคอมไพเลอร์ของภาษาซีพลัสพลัส แต่ก็มีโค้ดภาษาซีบางอย่างที่ในภาษาซีพลัสพลัสถือว่าผิดหรือไม่ได้ทำงานตามที่เคยเป็น ตัวอย่างเช่น ภาษาซีรองรับการแปลงชนิดข้อมูลจาก void* ไปเป็นพอยน์เตอร์ชนิดอื่นแบบโดยปริยาย ในขณะที่ภาษาซีพลัสพลัสไม่รองรับ (เพื่อไม่ให้เกิดการแปลงชนิดข้อมูลโดยไม่ได้ตั้งใจ) นอกจากนี้ ภาษาซีพลัสพลัสยังเพิ่มคำสงวนขึ้นมามากมาย เช่น new และ class ซึ่งคำเหล่านี้อาจถูกใช้เป็นชื่อตัวระบุ (เช่นชื่อตัวแปร) ในภาษาซี ส่งผลให้โค้ดภาษาซีดังกล่าวไม่สามารถคอมไพล์ได้
มาตรฐาน C99 ของภาษาซี ได้แก้ไขความไม่เข้ากันระหว่างภาษาซีและภาษาซีพลัสพลัสบางประการ โดยเพิ่มการคอมเมนต์บรรทัด (//) และทำให้สามารถผสมการประกาศตัวแปรเข้าไปในโค้ดได้ (ก่อนหน้านี้ตัวแปรทั้งหมดต้องประกาศ ณ จุดเริ่มต้นของฟังก์ชัน กล่าวคือ ก่อนหน้าที่จะมีการทำงานใด ๆ ในฟังก์ชัน)
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
Set MongoDB in the windows path environment
Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...
-
ปกติแล้วเมื่อเราประกาศตัวแปร Type ที่เป็นตัวเลขมา เราก็มักจะมีการเปลี่ยนแปลงค่าของตัวแปรนั้นอยู่บ้าง โดยการคำนวณร่วมกับค่าเดิมที่ตัว...
-
เรียนรู้การใช้ภาษา Lua บทความนี้กล่าวถึง ภาษา Lua ซึ่งเป็นภาษาคอมพิวเตอร์ และเรียนรู้การเขียนโค้ดในภาษานี้ โดยอาศัยโค้ดตัวอย่าง ผู้อ่าน...
ไม่มีความคิดเห็น:
แสดงความคิดเห็น