Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / [C++] Управление памятью (3 стр)

[C++] Управление памятью (3 стр)

Поделиться
Advanced: Тема повышенной сложности или важная.
Страницы: 1 2 3 4 58 Следующая »
СтасПостоялецwww4 дек. 201716:58#30
Zab
> Ну и stl хотя бы на том уровне, что был 1989 году, где уже были shared_ptr,
> кстати.

Чеееее?!!! А че не 1901 года?

http://en.cppreference.com/w/cpp/language/history

Откуда в 1989 году могла быть stl если шаблоны были добавлены в 1990. Во вторых shared_ptr пришел в stl из буста и добавлен официально был только в C++11.

Правка: 4 дек. 2017 17:03

ZabПостоялецwww4 дек. 201717:05#31
Стас
Вторая редакция С++ 1991 года? Ну хорошо, пусть будет 91й. Теперь то какая разница, плюс-минус два года в далеком прошлом...
Вторая редакция сразу вышла в комплекте с stl.
СтасПостоялецwww4 дек. 201717:06#32
Zab
> Стас
> Вторая редакция С++ 1991 года? Ну хорошо, пусть будет 91й. Теперь то какая
> разница, плюс-минус два года в далеком прошлом...
> Вторая редакция сразу вышла в комплекте с stl.

Ссылочку посмотри.
1992 STL implemented in C++

И второе shared_ptr это С++11... так... один два, три..... и сколько там еще лет?

Правка: 4 дек. 2017 17:08

ZabПостоялецwww4 дек. 201717:20#33
Стас
> shared_ptr
Если была полноценная реализация шаблонов, аналоги shared_ptr, были доступны из массы библиотек.
Полноценные шаблоны стали доступны далеко не сразу после появления их в стандарте. Помнится, вся Россия тогда сидела на борландовских компиляторах, у которых с шаблонами беда была, не работал там stl.
Но когда все дружно перелезли на MSVS 4, доступ появился. Что было в MSVS 2.x я плохо знаю, своими руками на нем не работал. Были там шаблоны?
СтасПостоялецwww4 дек. 201717:34#34
Zab
> Но когда все дружно перелезли на MSVS 4, доступ появился. Что было в MSVS 2.x я
> плохо знаю, своими руками на нем не работал. Были там шаблоны?

Начнем с того что MSVS 4 и MSVS 2.x в природе не существовали. Были MS VC++ 2.x и MS VC++ 4.x. Но STL для них не существовало, не смотря на то что шаблоны уже были. Более менее нормальный stl в MS VC++ появился в MS VS 6.0. Но из умных указателей там был только положенный по стандарту auto_ptr который к shared_ptr не имеет вообще ни какого отношения.

https://www.cs.helsinki.fi/u/tpkarkka/alglib/k06/lectures/stl_intro.html

1994: C++ library (Stepanov, Musser and Meng Lee)
July: approved by ANSI/ISO comittee
August: freely available on the internet
1998: part of C++ Standard Library

Stl официально стал частью С++ только в 98 году, так что ни в 89, ни в 90, ни в 91 его быть в принципе не могло.  Библиотека была написана только в 94 году, и еще какое то время потребовалось на согласование.

Правка: 4 дек. 2017 17:43

innuendoПостоялецwww4 дек. 201717:56#35
Стас
> Откуда в 1989 году могла быть stl если шаблоны были добавлены в 1990

помню шаблоны только после 93-94

СтасПостоялецwww4 дек. 201717:59#36
innuendo
> помню шаблоны только после 93-94
Шаблоны добавили в язык, но компиляторы это еще не поддерживали... Насколько я помню первый компилятор с шаблонами был Borland C++ 3.1 (компилятор 92 года) но я не уверен  что не было других.
innuendoПостоялецwww4 дек. 201718:46#37
Zab
> Помнится, вся Россия тогда сидела на борландовских компиляторах, у которых с
> шаблонами беда была, не работал там stl.

там были свои контейнеры

ZabПостоялецwww4 дек. 201722:22#38
Стас
> Насколько я помню первый компилятор с шаблонами был Borland C++ 3.1 (компилятор 92 года)
Там были хромые на все ноги шаблоны, внутри которые запрещалось почти все. Сделать на них контейнеры было невозможно.
innuendo
> там были свои контейнеры
ага... на макросах. То еще уродство, которое потом кочевало на другие компиляторы при поддержке старых проектов. Некоторые из них жили очень долго, работал с одним таким аж в 2003м, возможно его до сих пор так и содержат.
ZabПостоялецwww4 дек. 201722:28#39
Стас
> Более менее нормальный stl в MS VC++ появился в MS VS 6.0. Но из умных
> указателей там был только положенный по стандарту auto_ptr который к shared_ptr
> не имеет вообще ни какого отношения.
Что мешало применить portable stl?
В msvc 6 появился ATL, там свои указатели, не такие универсальные, но по их образу можно было наплодить каких хочешь.
И boost примерно в те времена развился, хотя популярным стал далеко не сразу.
ZabПостоялецwww4 дек. 201722:38#40
В msvc четверке шаблоны точно были, там вообще компилятор от шестерки почти не отличается. Вот только, во времена четверки народ еще не приучен был шаблонами пользоваться, без них как-то жили.
Параллельно четверке жила вторая версия, которую применяли когда нужен был 16и разрядный код, который четверка генерировать не могла. А двойка не могла генерировать 32х разрядный. Что там было с шаблонами - понятия не имею, может их не было, а может были, но не использовали.

В те времена еще активно применялся у нас watcom компилятор, 10й версии. DOS еще не умер. Опять таки, не знаю что там было с шаблонами, без них жили, в голову никому не приходило использовать. Скорее всего не было.

СтасПостоялецwww4 дек. 201722:42#41
Zab
>Что мешало применить portable stl?
Может быть то что stl port только начали делать в январе 97? http://www.stlport.org/doc/story.html

>В msvc 6 появился ATL
Стесняюсь спросить а при чем тут атл? Это были костыли для разработки под винду с использованием com обьектов

Boost появился в 1999 году http://www.boost.org/users/history/old_versions.html

И так внезапно 1989 год сдвинулся на 10 лет минимум

Правка: 4 дек. 2017 22:43

СтасПостоялецwww4 дек. 201722:47#42
То что были шаблоны не значит что stl был, а про shared_ptr я вообще молчу он появился намного позже стандарта stl который был принят в 98 году
ZabПостоялецwww4 дек. 201722:53#43
Ну что сказать... убедили... Если бы я сам потрудился вспомнить, прежде чем писать, никакого 1989го бы не приплел. По моим воспоминаниям, начало активного применения шаблонов можно отнести к 98-99 году. Но это когда их программисты в России начали массово использовать, а не когда они стали поддерживаться.

Значит, начало stl надо отнести не к появлению стандарта 2й редакции С++, а к выходу книги Страуструпа по 2й редакции языка? Это было сильно позже? В книге stl уж точно был представлен как часть языка.

innuendoПостоялецwww4 дек. 201723:56#44
Zab
> > там были свои контейнеры
> ага... на макросах.

нет, Borland c++ на шаблонах

Страницы: 1 2 3 4 58 Следующая »

/ Форум / Программирование игр / Общее

Тема закрыта.

2001—2017 © GameDev.ru — Разработка игр