ใน C++ มีคุณสมบัติ inline function คล้าย macro ใน C/C++ ใช้ keyword inline กำหนด ใช้ได้ทุกที่แต่ควรปฏิบัติตามแนวทาง
เมื่อควรใช้ inline:
- แทนที่ macro (#define)
- ฟังก์ชันเล็กๆ สร้างโค้ดเร็วและ executable เล็กลง
- ฟังก์ชันเล็กและถูกเรียกบ่อย
เมื่อควรหลีกเลี่ยง inline:
- ไม่ควรใช้กับฟังก์ชันที่เป็น I/O bound
- ฟังก์ชันที่มีโค้ดเยอะ ควรหลีกเลี่ยง
- ถ้าใช้ recursion inline อาจทำงานไม่ถูกต้อง
จุดสำคัญ: inline ไม่ใช่คำสั่ง แต่เป็น request คอมไพเลอร์อาจตัดสินใจไม่ inline ได้