در این آموزش ساختار goto ، نحوه ی کار و اینکه چرا باید از استفاده آن اجتناب کرد را می آموزید.
در برنامه نویسی C++ از goto برای تغییر در ترتیب اجرای برنامه و انتقال از یک قسمت به قسمت دیگر کد استفاده می شود.
ساختار goto در C++
goto label;
… .. …
… .. …
… .. …
label:
statement;
… .. …
در ساختار بالا، label علامت است. وقتی که برنامه با goto label; مواجه می شود، کنترل برنامه به label می پرد و ادامه کد از آن جا اجرا می شود.
مثال : goto در C++
// This program calculates the average of numbers entered by user.
// If user enters negative number, it ignores the number and
// calculates the average of number entered before it.
# include <iostream>
using namespace std;
int main()
{
float num, average, sum = 0.0;
int i, n;
cout << “Maximum number of inputs: “;
cin >> n;
for(i = 1; i <= n; ++i)
{
cout << “Enter n” << i << “: “;
cin >> num;
if(num < 0.0)
{
// Control of the program move to jump:
goto jump;
}
sum += num;
}
jump:
average = sum / (i – 1);
cout << “\nAverage = ” << average;
return 0;
}
خروجی
Maximum number of inputs: 10
Enter n1: 2.3
Enter n2: 5.6
Enter n3: -5.6
Average = 3.95
می توانید هر برنامه C++ را بدون استفاده از goto بنویسید.
دلایل پرهیز از استفاده goto
goto به ما این امکان را می دهد که از هر نقطه به نقطه ی دیگری در کد پرش کنیم اما منطق برنامه پیچیده و تو در تو خواهد شد.
در برنامه نویسی مدرن، goto ساختار مضری در نظر گرفته می شود.
به جای goto می توان از break و continue در C++ استفاده کرد.