ในภาษา C++ การประกาศและคำจำกัดความมักสับสน การประกาศหมายถึง (ในภาษา C) ว่าคุณกำลังบอกคอมไพเลอร์เกี่ยวกับประเภท ขนาด และในกรณีของการประกาศฟังก์ชัน ประเภทและขนาดของพารามิเตอร์ของตัวแปรใดๆ หรือประเภทหรือฟังก์ชันที่ผู้ใช้กำหนดในโปรแกรมของคุณ ไม่มีที่ว่างในหน่วยความจำสำหรับตัวแปรใด ๆ ในกรณีที่มีการประกาศ
คำจำกัดความในอีกทางหนึ่งหมายความว่านอกเหนือจากทุกสิ่งที่ประกาศทำแล้ว พื้นที่ยังถูกสงวนไว้เพิ่มเติมในหน่วยความจำอีกด้วย คุณสามารถพูดว่า "DEFINITION =DECLARATION + SPACE RESERVATION"
ต่อไปนี้คือตัวอย่างการประกาศ -
extern int a; // Declaring a variable a without defining it struct _tagExample { int a; int b; }; // Declaring a struct int myFunc (int a, int b); // Declaring a function
ต่อไปนี้คือตัวอย่างคำจำกัดความ -
int a; int b = 0; int myFunc (int a, int b) { return a + b; } struct _tagExample example;