بازگشت ارجاع از تابع در زبان C++
در زبان برنامه نویسی C++ توابع می توانند مقداری بازگشتی از نوع ارجاع داشته باشند. این گونه توابع یک اشاره گر ضمنی به مقدار بازگشتی را باز میگردانند، بنابراین می توانن از آن در سمت چپ یک دستور تخصیص نیز استفاده کرد. مثال زیر این موضوع را به خوبی نشان می دهد:
#include <iostream> #include <ctime> using namespace std; double vals[] = {10.1, 12.6, 33.1, 24.1, 50.0}; double& setValues( int i ) { return vals[i]; // return a reference to the ith element } // main function to call above defined function. int main () { cout << "Value before change" << endl; for ( int i = 0; i < 5; i++ ) { cout << "vals[" << i << "] = "; cout << vals[i] << endl; } setValues(1) = 20.23; // change 2nd element setValues(3) = 70.8; // change 4th element cout << "Value after change" << endl; for ( int i = 0; i < 5; i++ ) { cout << "vals[" << i << "] = "; cout << vals[i] << endl; } return 0; }
امتحان کنید
زمانی که کد بالا توسط کامپایلر زبان C++ اجرا شود، نتیجه زیر را تولید خواهد کرد:
Value before change vals[0] = 10.1 vals[1] = 12.6 vals[2] = 33.1 vals[3] = 24.1 vals[4] = 50 Value after change vals[0] = 10.1 vals[1] = 20.23 vals[2] = 33.1 vals[3] = 70.8 vals[4] = 50
int& func() { int q; //! return q; // Compile time error static int x; return x; // Safe, x lives outside this scope }
نوشته بازگشت ارجاع از تابع در زبان C++ – آموزش زبان C++ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.