เป็นไปได้มากว่าจะใช้เป็น (หรือตัวแปรของมัน):
void print_fibs()
{
}
int ignore = (print_fibs(), 0);
int main() {}
ในโค้ดนี้ตัวแปรโกลบอลignoreจะต้องถูกเตรียมใช้งานก่อนที่จะเข้าสู่main()ฟังก์ชัน ตอนนี้เพื่อเริ่มต้นทั่วโลกprint_fibs()จำเป็นต้องดำเนินการในที่ที่คุณสามารถทำอะไรก็ได้ - ในกรณีนี้คำนวณหมายเลข fibonacci และพิมพ์ออกมา! สิ่งที่คล้ายกันที่ฉันได้แสดงในคำถามต่อไปนี้ (ซึ่งฉันถามกลับมานานแล้ว):
โปรดทราบว่ารหัสดังกล่าวไม่ปลอดภัยและควรหลีกเลี่ยงโดยทั่วไปดีที่สุด ตัวอย่างเช่นstd::coutวัตถุอาจไม่ได้รับการเตรียมใช้งานเมื่อprint_fibs()ถูกเรียกใช้งานถ้าเป็นเช่นนั้นสิ่งที่จะstd::coutทำในฟังก์ชัน? อย่างไรก็ตามหากในสถานการณ์อื่นไม่ได้ขึ้นอยู่กับลำดับการเริ่มต้นดังกล่าวการเรียกใช้ฟังก์ชันการเริ่มต้นจะปลอดภัย (ซึ่งเป็นแนวทางปฏิบัติทั่วไปใน C และ C ++)