Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ความแตกต่างระหว่าง C ++ และ Java


Java C++
Java ได้รับการพัฒนาโดย James Gosling ที่ Sun Microsystems C++ ได้รับการพัฒนาโดย Bjarne Stroustrup ที่ Bell Labs เพื่อเป็นส่วนขยายของภาษา C
ได้รับอิทธิพลจาก Ada 83, Pascal, C++, C# ได้รับอิทธิพลจาก Ada, ALGOL 68, C, ML, Simula, Smalltalk
Java bytecode ทำงานบนระบบปฏิบัติการใด ๆ ใช้ไม่ได้กับทุกระบบปฏิบัติการเนื่องจากไลบรารีในระบบต่างกัน
สามารถทำงานได้บนทุก OS มีการคอมไพล์ต่างกันบนแพลตฟอร์มต่างๆ ไม่สามารถรันบน OS ใดๆ ได้
พกพาสะดวก ไม่สามารถพกพาได้
เป็นภาษาตีความ เป็นภาษาที่เรียบเรียง
จัดการหน่วยความจำโดยอัตโนมัติ การจัดการหน่วยความจำทำได้ด้วยตนเอง
ไม่มีคีย์เวิร์ด "เสมือน" มีคีย์เวิร์ด 'เสมือน'
รองรับการสืบทอดเดียวเท่านั้น สามารถรับมรดกได้หลายส่วนโดยใช้อินเทอร์เฟซ (บางส่วนเท่านั้น) รองรับการสืบทอดเดี่ยวและหลายรายการ
ไม่รองรับโอเปอเรเตอร์โอเวอร์โหลด รองรับการโอเวอร์โหลดโอเปอเรเตอร์
รองรับพอยน์เตอร์อย่างจำกัด รองรับการทำงานของตัวชี้
มีฟังก์ชันระดับสูง มีฟังก์ชันระดับต่ำ
ไม่รองรับการเรียกไลบรารีเนทีฟโดยตรง รองรับการเรียกไลบรารีระบบโดยตรง
รองรับความคิดเห็นของเอกสาร (/**.. */) สำหรับซอร์สโค้ด ไม่รองรับความคิดเห็นในเอกสารสำหรับซอร์สโค้ด
รองรับการทำงานของเธรด ไม่รองรับเธรดตามการออกแบบ สามารถทำได้โดยใช้ไลบรารีเธรดของบุคคลที่สาม
มันใช้คลาส 'ระบบ' เช่น System.in สำหรับอินพุต มันใช้ 'cin' สำหรับการดำเนินการอินพุต
มันใช้ System.out สำหรับเอาต์พุต มันใช้ 'cout' สำหรับการดำเนินการเอาท์พุต
มันใช้ System.out สำหรับเอาต์พุต มันใช้ 'cout' สำหรับการดำเนินการเอาท์พุต
ไม่รองรับขอบเขตทั่วโลก รองรับขอบเขตสากลและขอบเขตเนมสเปซ
ไม่รองรับโครงสร้างและสหภาพแรงงาน รองรับโครงสร้างและสหภาพแรงงาน
ไม่มีคีย์เวิร์ด "goto" รองรับคีย์เวิร์ด 'goto'
รองรับวิธี Pass by Value เท่านั้น รองรับ Pass by Value และ pass โดยวิธีอ้างอิง
จัดการวัตถุโดยอัตโนมัติโดยใช้ตัวรวบรวมขยะ ดำเนินการจัดการวัตถุด้วยตนเองโดยใช้ "ใหม่" และ "ลบ"