Библиотека STL (Standart Template Library)
ОГЛАВЛЕНИЕ
Первое главное отличие STL это то, что она отделяет структуры данных от алгоритмов, которые с ними работают. Вторая главная особенность в том, что она не объектно-ориентированная. Это может выглядеть как недостаток, но это наверно не так. Она работает немного на другом уровне. На самом деле объектно-ориентированное программирование это только миф созданный Вашим компилятором. Я совершенно точно гарантирую, что способен написать код, который будет получать доступ к защищеным данным класса откуда угодно. Правда для этого нужно делать вставку на ассемблере. Кроме того код у неё очень компактен.
Пробуем
Сейчас мы с вами с помощью STL решим задачу безразмерного массива целых чисел. Это просто если делать с помощью STL.
Создаем проект Win 32 Console с именем StlStep2 как Hello Word. И пишем код.
// StlStep2.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include "vector"
#include "iostream.h"
using namespace std;
void main()
{
vector< int > MyArray;
for (int x=0;x < 10;x++)
MyArray.push_back(x);
vector< int >::iterator i;
for (i=MyArray.begin(); i!=MyArray.end();++i)
cout << *i << endl;
}
Ну как ? Много нового? Все новое. Вместе с VC++ поставляються и все необходимые файлы для работы с STL при этом есть некоторые особенности, например, Вы заметили, что при объявлении vector не использовалось расширение *.h. Его можно не использовать, но кроме того его и нет. Данный файл идет без расширения.
Данный пример это просто проба. Для использования STL нам нужно получить некоторые знания, в том числе и теоритические. Вот дальше мы и будет изучать.
Если вы программировали на чистом C и решали подобные задачи, то можете представить какой код нужно написать для подобной задачи. Явно больше.