ฟังก์ชันอินไลน์แบบอินไลน์
ทุกคนต้องใช้ การเรียกฟังก์ชัน ฟังก์ชัน จะใช้งานได้ก็ต่อเมื่อมีการเรียกใช้โดยฟังก์ชันอื่นเท่านั้น และได้เตรียมพื้นที่หน่วยความจำที่เกี่ยวข้องไว้สำหรับฟังก์ชันนั้นแล้ว
เราจะเห็นได้ว่าการเรียกใช้ฟังก์ชันแต่ละครั้งจะทำให้ต้นทุนเวลาและพื้นที่เกิดขึ้น หนึ่งในฟังก์ชันของฟังก์ชันแบบกำหนดเองคือการปรับปรุงการนำโค้ดกลับมาใช้ใหม่ได้ สามารถเรียกใช้ได้ตลอดเวลาเมื่อจำเป็น และปรับปรุงประสิทธิภาพการพัฒนา ดังนั้นสำหรับฟังก์ชันที่มีโค้ดไม่มากนักและถูกเรียกใช้บ่อยครั้ง เราควรคิดให้รอบคอบว่าการทำเช่นนั้นจะคุ้มค่าหรือไม่
โชคดีที่ C++ ช่วยเราคำนึงถึงปัญหานี้ และจัดเตรียมกลไกแบบอินไลน์ให้เรา นั่นคือเรายังคงใช้ฟังก์ชันที่กำหนดเอง แต่ในระหว่างการคอมไพล์ โค้ดฟังก์ชันจะถูกแทรกลงในการเรียกใช้ฟังก์ชัน จึงช่วยลดความจำเป็นในการเรียกใช้ฟังก์ชัน . ขั้นตอนแบบอนุกรมเช่นโค้ดที่ดำเนินการตามลำดับทั่วไปจะช่วยแก้ปัญหานี้ได้!
การใช้งานนั้นง่ายมาก คุณจะต้องเพิ่มการประกาศ คำสำคัญแบบอินไลน์ ไว้ด้านหน้าคำจำกัดความของฟังก์ชัน เช่น รหัสต่อไปนี้:
#include<iostream>usingnamespacestd;inlineintMax(inta,intb){returna>b?a:b;}intmain(){cout<<สูงสุด(3,5)<<endl;cout<<สูงสุด(7,9)< <endl;return0;}
เป็นมูลค่าการกล่าวขวัญว่าคำจำกัดความของฟังก์ชันอินไลน์ต้องปรากฏก่อนการโทร เพื่อให้คอมไพลเลอร์สามารถเข้าใจบริบทและทำการแทนที่โค้ดระหว่างการคอมไพล์ นอกจากนี้ ฟังก์ชันอินไลน์ จะคล้ายกับ ตัวแปรรีจิสเตอร์ มันเป็นเพียงคำขอที่เราทำกับคอมไพเลอร์ว่ามันจะอินไลน์จริง ๆ ในตอนท้ายหรือไม่ก็ปล่อยให้คอมไพเลอร์เลือกตามสถานการณ์