История изменений
Исправление Kroz, (текущая версия) :
Такое на Паскале сможешь?
vector<string> arr1={ "One" , "Two" , "Three" , "unexpected", "Four" };
int View(vector<string> &arr)
{
int q=0;
for (auto i=arr.begin(); i!=arr.end() && *i != "stop"; ++i, ++q ) {
if ( *i == "unexpected" )
throw "Unexpected value detected";
*i+="!";
cout << q << "." << *i << endl;
}
return q;
};
- Исключения
- Автоматического определение типа переменной
- Динамические массивы безо всяких указателей, притом элементами являются строки переменной длинны
- Передача аргументов в функции по ссылке (чтобы из можно было менять)
- Циклы критерием завершения которых являются сложные условия, да и на каждом шаге есть несколько действий.
Нет, может это все уже и появилось в Паскале (в частности исключения я видел в Дельфи). Но мне просто интересно что может паскаль сейчас, да и чем ты вообще пользуешься при программировании.
Исходная версия Kroz, :
Такое на Паскале сможешь?
vector<string> arr1={ "One" , "Two" , "Three" , "unexpected", "Four" };
int View(vector<string> &arr)
{
int q=0;
for (auto i=arr.begin(); i!=arr.end() && *i != "stop"; ++i, ++q ) {
if ( *i == "unexpected" )
throw "Unexpected value detected";
*i+="!";
cout << q << "." << *i << endl;
}
return q;
};
- Исключения - Автоматического определение типа переменной - Динамические массивы безо всяких указателей, притом элементами являются строки переменной длинны - Передача аргументов в функции по ссылке (чтобы из можно было менять) - Циклы критерием завершения которых являются сложные условия, да и на каждом шаге есть несколько действий.
Нет, может это все уже и появилось в Паскале (в частности исключения я видел в Дельфи). Но мне просто интересно что может паскаль сейчас, да и чем ты вообще пользуешься при программировании.