بازگشت ارجاع از تابع در زبان C++ – آموزش زبان C++

cpp returning values by reference 4458 بازگشت ارجاع از تابع در زبان C++   آموزش زبان C++

بازگشت ارجاع از تابع در زبان 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++ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.

درباره نویسنده: administrator

ممکن است دوست داشته باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *