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

ลำดับการประเมินค่าพารามิเตอร์ฟังก์ชันใน C++

บทนำ

เราส่งอาร์กิวเมนต์ต่างๆ เข้าไปในฟังก์ชัน คำถามคือลำดับการประเมินค่าพารามิเตอร์เป็นอย่างไร คือจากซ้ายไปขวา หรือขวาไปซ้าย?

เพื่อตรวจสอบลำดับ เราใช้โปรแกรมง่ายๆ ที่ส่งพารามิเตอร์บางอย่าง จากผลลัพธ์เราจะรู้ว่ามันถูกประเมินอย่างไร

ตัวอย่างโค้ด

#include <iostream>
using namespace std;

void test_function(int x, int y, int z) {
    cout << "The value of x: " << x << endl;
    cout << "The value of y: " << y << endl;
    cout << "The value of z: " << z << endl;
}

int main() {
    int a = 10;
    test_function(a++, a++, a++);
    return 0;
}

ผลลัพธ์

The value of x: 12
The value of y: 11
The value of z: 10

จากผลลัพธ์นี้ เข้าใจลำดับได้ง่ายๆ ตัวแรกที่ถูกนำคือ z จึงมีค่า 10 ต่อมาคือ y ค่า 11 และสุดท้ายคือ x ค่า 12