تعداد متغیر آرگومان های توابع (C++/CLI)
نحوه ی ایجاد یک تابع با تعداد متغیری از آرگومان ها در C++/CLI کمی با C++ استاندارد تفاوت دارد. C++/CLI به شما اجازه می دهد تا با تعریف یک آرایه به عنوان پارامتر تابع، که قبل از آن علامت سه نقطه (...) آمده است، بتوانید تعداد متغیری از آرگومان ها را به تابع ارسال کنید. حالت کلی این تابع به صورت زیر است :
double Average (... array < int > ^ numbers)
{
int sum = 0;
for (int i=0; i < numbers - > length; i++)
sum += numbers[i];
return sum/numbers - > Length;
}
TYPE Function_Name (... array < TYPE > ^ Name)
{
دستورات تابع
{
دستورات تابع
}
در این حالت، عناصر آرایه به ترتیب در بردارنده ی آرگومان های ارسالی می شوند. برای مثال تابع زیر تعداد دلخواهی از آرگومان های int را می پذیرد و میانگین آنها را محاسبه می کند.
double Average (... array < int > ^ numbers)
{
int sum = 0;
for (int i=0; i < numbers - > length; i++)
sum += numbers[i];
return sum/numbers - > Length;
}
آزمایش تابع :
// main
cout << Average (10,12,15,18);
cout << endl;
cout << Average (10.25,12,31,25,17,54,22);
به این دلیل که در تعریف تابع از آرایه های CLR استفاده شده است، نیازی نیست که یک آرگومان جدا برای طول آرایه (تعداد آرگومان های ارسالی) تعریف شود؛ یکی از خواص این آرایه ها، "Length" است که طول آرایه را مشخص می کند. پس مشکلی برای مشخص کردن تعداد آرگومان ها و دستیابی به آنها وجود ندارد. همان گونه که میبینید استفاده از روش C++/CLI در مقایسه با روش Native C++ بسیار آسانتر است.
+ نوشته شده در چهارشنبه نوزدهم بهمن ۱۳۹۰ ساعت 19:48 توسط MEC
GENERAL INFORMATION