LINUX.ORG.RU

История изменений

Исправление 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;
};

- Исключения - Автоматического определение типа переменной - Динамические массивы безо всяких указателей, притом элементами являются строки переменной длинны - Передача аргументов в функции по ссылке (чтобы из можно было менять) - Циклы критерием завершения которых являются сложные условия, да и на каждом шаге есть несколько действий.

Нет, может это все уже и появилось в Паскале (в частности исключения я видел в Дельфи). Но мне просто интересно что может паскаль сейчас, да и чем ты вообще пользуешься при программировании.