Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Все об STL, Народ, давайте выскажемся :) 
:(
    Опции темы
mr.DUDA
  Дата 1.8.2003, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Все, кто использует, слышал или хочет узнать больше об STL, кому нравится стиль и крутизна STL, и кому трудно "въехать", наконец, кто впервые слышит об STL (в то время как полмира его юзает втихаря smile.gif - пишите сюда !

Признаюсь, я сам увидел сие лишь недавно, и полный ламак в этом.

Это сообщение отредактировал(а) mr.DUDA - 1.8.2003, 16:45


--------------------
user posted image
PM MAIL WWW   Вверх
PostEr
Дата 1.8.2003, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: 1
Всего: 1



Я smile.gif не из таких!!!!!! smile.gif))

Всем на msdn: http://msdn.microsoft.com/library/default....of_Contents.asp


--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 1.8.2003, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



А на русском confused.gif


--------------------
user posted image
PM MAIL WWW   Вверх
DarkDS
Дата 1.8.2003, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: нет
Всего: 16



Mumit's STL Newbie guide (eng)
http://www.xraylith.wisc.edu/~khan/softwar...bie.html#overvi

Итераторы СТЛ
http://cpp.hotmail.ru/articles/stl_01.html

Роль функций библиотеки STL
http://cpp.hotmail.ru/articles/stl_02.html

ЗЫ. На http://cpp.hotmail.ru/article.html еще пара статей была smile.gif

Это сообщение отредактировал(а) DarkDS - 1.8.2003, 17:04
PM MAIL   Вверх
DENNN
Дата 1.8.2003, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



PM ICQ   Вверх
DENNN
Дата 1.8.2003, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



А лучше, не пожалейте денег и сходите в хороший книжный магазин- сейчас много вышло книг по программингу с исп. STL
PM ICQ   Вверх
PostEr
Дата 1.8.2003, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: 1
Всего: 1



Не рекомендую новичкам: Г.Саттер "Решение сложных задач на c++". Какая-то охинея smile.gif


--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
Step
Дата 1.8.2003, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



http://www.firststeps.ru раздел визуал с++, СТЛ

для понимания шаблонов...


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 1.8.2003, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
Не рекомендую новичкам: Г.Саттер "Решение сложных задач на c++". Какая-то охинея

Я бы с удовольствием почитал...
PM ICQ   Вверх
mr.DUDA
Дата 1.8.2003, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



DENNN, я сейчас как раз собираюсь прикупить пару-тройку бук по программированию, не подскажешь что-нибудь хорошее по STL ?
plz


--------------------
user posted image
PM MAIL WWW   Вверх
DENNN
Дата 1.8.2003, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Тебе многие точно порекомендовали "Эффективное использование STL" Скота Мейерса изд. Питер - неоценимая вещь для начинающего (если у него от обилия информации голова не треснет smile.gif )
Есть еще "Азбука STL" П.В.Москвин. Если сам полный ноль то пригодиться, но если читать после первой книги, то понимаешь что автор далеко не гуру в C++ и STL в частности: все примеры в книги можно переисать в 2-3 раза короче.
А вообще, как только увидишь на книге надпись "STL" - можешь сразу хватать нераздумывая, если мозги никогда не лень напрячь, то обязательно что-то полезное найдешь.
PM ICQ   Вверх
PostEr
Дата 1.8.2003, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: 1
Всего: 1



А вообще книга Г.Саттера наверное полезная smile.gif Сижу и гружусь по-тихонечьку.....


--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 2.8.2003, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Всем BIG thanks за ссылки, но вот что-то не слышно тех, кто не знает и хочет узнать "что за фича такая --- STL ?..."
smile.gif

Это сообщение отредактировал(а) mr.DUDA - 3.8.2003, 00:19


--------------------
user posted image
PM MAIL WWW   Вверх
PostEr
Дата 2.8.2003, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: 1
Всего: 1



Чё за фичаconfused.gif?? smile.gif


--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
Vyacheslav
Дата 4.8.2003, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(PostEr @ 1.8.2003, 17:47)
Не рекомендую новичкам: Г.Саттер "Решение сложных задач на c++". Какая-то охинея smile.gif

У меня совсем другое мнение. После того, как прочел книгу, понял, что после 9 лет программирования на с++, я почти ничего о нем не знаю. Классная книга.


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Nastya
Дата 4.8.2003, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 5
Всего: 44



Я с ней работала не так много,но
1. STL - это библиотека содеражащая набор фукнций, шаблонов функций, шаблонов классов на многие случаи жизни. За частую, чем изобретать велосипед удобнее пользоваться ей.
Лично мне от туда нравится вектор и строка. Вектро тот вообще намнгого удобнее MFC-шного CArray`я. ИХМО.
2. Из книг для самых маленких мне нравится учебник по C++ для росийских вузов ПАвловской. Там и основы самого С++ и краткое введение в STL.


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
mr.DUDA
Дата 8.8.2003, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



В общем, есть следующие соображения. Если MFC-контейнеры делались на основе STL (а так оно и есть, судя по исходникам), то быстродействие должно быть примерно одинаковым у большинства аналогичных ф-ций и методов обеих библиотек. Что я и попробовал проверить на простых примерах для списков, строк и карт:

Example 1
Код

CList <int, int> lstM;
list <int> lstS;

const int MAX_CNT = 100000;

DWORD Before = GetTickCount();
for(int i=0; i<MAX_CNT; i++)
{
 lstM.AddTail(i);
}
DWORD PeriodMFC = GetTickCount()-Before;

Before = GetTickCount();
for(i=0; i<MAX_CNT; i++)
{
 lstS.push_back(i);
}
DWORD PeriodSTL = GetTickCount()-Before;


cout<<"Period STL: "<<PeriodSTL<<"\n";
cout<<"Period MFC: "<<PeriodMFC<<"\n";

Странно, но MFC примерно в 2-3 раза быстрее.

Example 2
Код

CList <int, int> lstM;
list <int> lstS;

const int MAX_CNT = 1000000;

for(int i=0; i<MAX_CNT; i++)
{
 lstM.AddTail(i);
 lstS.push_back(i);
}

typedef list<int>::iterator my_iter;
int value_to_find = MAX_CNT/2;

DWORD BeforeSTL = GetTickCount();
find <my_iter, int> (lstS.begin(), lstS.end(), value_to_find);
DWORD PeriodSTL = GetTickCount()-BeforeSTL;

DWORD BeforeMFC = GetTickCount();
lstM.Find(value_to_find);
DWORD PeriodMFC = GetTickCount()-BeforeMFC;

cout<<"Period STL: "<<PeriodSTL<<"\n";
cout<<"Period MFC: "<<PeriodMFC<<"\n";

Опять MFC впереди.

Example 3
Код

const int MAX_CNT = 1000000;
DWORD BeforeSTL = GetTickCount();
string strS="ABCDEFGHIJ1234567890OPQRSTUFV";
for(int i=0; i<MAX_CNT; i++)
{
 string *pstrS = new string(strS);
 delete pstrS;
}
DWORD PeriodSTL = GetTickCount()-BeforeSTL;

DWORD BeforeMFC = GetTickCount();
CString strM="ABCDEFGHIJ1234567890OPQRSTUFV";
for(i=0; i<MAX_CNT; i++)
{
 CString *pstrM = new CString(strM);
 delete pstrM;
}
DWORD PeriodMFC = GetTickCount()-BeforeMFC;

cout<<"Period STL: "<<PeriodSTL<<"\n";
cout<<"Period MFC: "<<PeriodMFC<<"\n";

Отставание MFC невелико -- от 2% до 10% (сокращается при увеличении количества итераций).

Не привожу примера с картами (map vs. CMap), который показал нехилые тормоза у MFC по сравнению с STL, для любого типа ключей и значений (MFC медленнее добавляет и ищет элементы на 50-300%).

Неоднозначные результаты. Хм.
В пользу STL говорит наличие огромного количества удобств при обработке данных, в пользу MFC -- простота записи.

Жду ваших комментариев

Это сообщение отредактировал(а) mr.DUDA - 8.8.2003, 15:51


--------------------
user posted image
PM MAIL WWW   Вверх
DENNN
Дата 8.8.2003, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Их не будет.
PM ICQ   Вверх
Fantasist
Дата 8.8.2003, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Кхе-кхе. Не надо забывать, что STL - это только стандарт интерфейса, а реализаций его довольно много. Ты наверное тестировал реализацию прилагаемую к VC++?


--------------------
Волны гасят ветер...
PM MAIL   Вверх
mr.DUDA
Дата 8.8.2003, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Да, я просто пытаюсь выяснить какая из технологий, доступных в VC++, наиболее подходит для реализации приложений, активно работающих со сложными типами данных. До этого я работал только с MFC, и главное, что мне в ней нравилось - целостность, завершённость библиотеки.

Далее, столкнувшись на этом форуме с людьми, для которых MFC не является признанным авторитетом (может быть, из-за стойких предубеждений к продуктам Microsoft), я попытался выяснить, чем их так безоговорочно привлекает STL. Прочитанная литература давала больше вопросов, чем ответов. Да, stl более старая (и более изученная, оттестированная, кроссплатформенная и т.п. библиотека). Да, в некотором роде, можно считать, что она предоставляет универсальный подход к хранению и обработке сложных структурированных данных. Но, начиная создавать сложные проекты, поневоле задумываешься: что для тебя важнее ? Реализовать набор функций и фич, полностью удовлетворяющих заданию, с помощью "притёртой" библиотеки (пусть даже и с потерей 5% быстродействия, но зато зная все ее ньюансы и используя на 100% все возможности, с полным контролем над всеми ее внутренними действиями), или же брать нечто навернутое, универсальное, постоянно спотыкаясь о какие-то "новые" незадействованные возможности, с постоянной оглядкой "а всё ли я использовал на все сто процентов, или можно еще круче забабахать ?", т.е. ставя во главу угла саму библиотеку, а не программу, реализованную на ее основе.

Вот поэтому я создал этот топик. Чтобы выяснить, много ли таких же как я, "сомневающихся". Поэтому и кинул элементарные "бенчмарки", чтобы увидеть реакцию пиплов, использующих STL. Реакция, если честно, разочаровала. Уж очень безоговорочно и необоснованно мне дали понять: "Ты слушай как старшие делают".

Вот, что я хотел этим сказать.


--------------------
user posted image
PM MAIL WWW   Вверх
Fantasist
Дата 8.8.2003, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Цитата
Да, я просто пытаюсь выяснить какая из технологий, доступных в VC++


В VC++ доступна любая реализация STL которую ты только сможешь достать. smile.gif Вот STLPort реккомендуют. Это, кстати, одно из основных достоинств stl - стандарт. Код использующий STL ты можешь откомпилировать в любом компиляторе С++. И программистам не использующим MFC этот код будет более понятен.
Опять же внутри самой студии. Написал ты класс использующий CArray. Потом вдруг раз, пишишь СOM сервер на ATL и хочешь использовать этот класс. Так нету в ATL СArray, там только CAtlArray. А MFC в АTL - ный проект подключается очень не элементарно. C STL, понятно, никаких проблем.

Цитата
что для тебя важнее ? Реализовать набор функций и фич, полностью удовлетворяющих заданию, с помощью "притёртой" библиотеки....
....
...с постоянной оглядкой "а всё ли я использовал на все сто процентов, или можно еще круче забабахать ?", т.е. ставя во главу угла саму библиотеку, а не программу, реализованную на ее основе.


Ну, это уже вопрос знания библиотек. smile.gif Сказать, что эта библиотека лучше, потому что я ее лучше знаю очень субъективно.


Цитата
Чтобы выяснить, много ли таких же как я, "сомневающихся".


Такие есть, но их не так много. Вопрос вкуса, конечно.

В MFС, на мой взгляд, единственный контейнер который лучше чем STL - это строка. CString мне больше нравиться. smile.gif И в ATL и в MFC. Microsoft наконец (в VC7) исправился и теперь конфликта использования CString в ATL нет.




--------------------
Волны гасят ветер...
PM MAIL   Вверх
RAN
Дата 9.8.2003, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 709
Регистрация: 14.3.2003
Где: Щёлково Моск.обл.

Репутация: 5
Всего: 6



В MFC шаблоны написаны без STL. В STL нет ничего сверхсложного, эта библиотека постовляется в исходниках и главную ценность представляют принципы реализации этой библиотеки. Короче, любой желающий может посмотреть и реализовать сам то, что ему нужно и как ему нужно. Благо MFC тоже постовляет с исходником. Вот я и посмотрел реализацию CList и list. Пока разобрался только с CList (хотя сам использую только STL). Сделано в CList на мой взгляд всё очень хорошо и его можно использовать. Правда, во-первых, это не стандарт и, во-вторых, возможностей гораздо меньше.
Кстати сказать, в библиотеке Microsoft'а очень много проверок на ошибки (ASSERT'ы там разные), которые в релизе, разумеется, будут отключены, что даст ещё большее увеличение производительности.

Теперь насчёт твоих тестов. MFC обогнала STL только в тех тестах, где выделяется память под новый элемент (AddTial и push_back). Объясняется это тем, что в конструктор CList передаётся размер блока (на какое кол-во элементов выделяется память при расширении списка)
Цитата

// Construction
CList(int nBlockSize = 10);

По умолчанию это 10. Теперь о том, как CList работает:

Внутри CList:
// Implementation
protected:
CNode* m_pNodeHead; //это указатель на первый элемент списка
CNode* m_pNodeTail; //это, соответсвенно, на последний
int m_nCount; //кол-во элементов в списке
CNode* m_pNodeFree; //ВНИМАНИЕ! Указатель на свободный элемент
struct CPlex* m_pBlocks; //Кол-во выделенных блоков памяти
int m_nBlockSize; //Тот самый размер блока

При создании списка в m_pNodeFree заносится NULL, а при необходимости вставить в список новый элемент проверяется: если m_pNodeFree == NULL, то выделяется память сразу под m_nBlockSize элементов. Причём при выделении этих элементов в каждом из них запоминается указатель на следующий, в последнем элементе указатель на следующий приравнивается NULL, а в m_pNodeFree заносится указатель на первый.
Цитата

if (m_pNodeFree == NULL)
{
  // add another block
                                //это по сути new[m_nBlockSize*sizeof(CNode)], но не совсем.
  CPlex* pNewBlock = CPlex::Create(m_pBlocks, m_nBlockSize,
    sizeof(CNode));

  // chain them into free list
  CNode* pNode = (CNode*) pNewBlock->data();
  // free in reverse order to make it easier to debug
  pNode += m_nBlockSize - 1;
  for (int i = m_nBlockSize-1; i >= 0; i--, pNode--)
  {
  pNode->pNext = m_pNodeFree;
  m_pNodeFree = pNode;
  }
}

Теперь как только понадобиться добачить элемент (причём не обязательно в конец или начало) он будет записан по адресу m_pNodeFree, а в m_pNodeFree будет занесён m_pNodeFree->pNext.

P.S. Сейчас посмотрю list из STL и напишу свои мысли

Это сообщение отредактировал(а) RAN - 9.8.2003, 11:58
PM MAIL ICQ   Вверх
Guest_DENNN
Дата 9.8.2003, 16:42 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Fantasist указал на причину, о которая очевидна для человека, используещего STL: реализации могут быть разные. Это во первых.
Во вторых, пусть даже ты и выбрал для своих эксперименнтов контейнер list, но ты ведь все равно проводишь тест не на быстродействие системы в целом, а на скорость добавления элементов в контейнер на твоем компьютере с твоей реализацией библиотеки. RAN указал верно, что в конструкторе CList можно указывать количество элементых, которые будут храниться, но причина глубже: я не заглядывал в исходники CList, но в контейнере std:list в твоем примере под каждый добавляемый элемент запрашивается память из кучи. Однако, даже в твоей реализации, если указать в шаблоне собственный аллокатор, который, к примеру, один раз запрашивает память и выдает контейнеру сегменты из запрошенного блока. Результат - в сотни раз сократиться время (вспомни сколько нулей в присваемом числе MAX_CNT?), затрачиваемое на выделение памяти. В твоих тестах результаты будут не просто отличаться, а изменяться на порядок!
Кроме того, ты пытаешься оценивать остальные библиотеки со стороны MFC - это не объективно. Нравится использовать ее, на здоровье - в сущности здесь никому нет дела как ты пишешь программы.
Но из этой полемики стоит понять, что стнадартные шаблоны можно настроить более гибко и эффективно именно под конкрентную задачу, а MFC предлагает всем одинаковй путь.
  Вверх
RAN
Дата 9.8.2003, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 709
Регистрация: 14.3.2003
Где: Щёлково Моск.обл.

Репутация: 5
Всего: 6



Цитата
В STL нет ничего сверхсложного

Это я поторопился сказать confused.gif Нет, ну конечно принципы ясны, но код мудрёный (осбенно в Builder'e)
Короче, как я и предполагал, чтоб память выделялась как в MFC надо свой allocator писать, а не использовать стандартный. Другого (стандартного) способа нет, по-моему. Всё, что я накопал, это макрос _RWSTD_CONTAINER_BUFFER_SIZE в старой STL в Builder, метод allocation_size в той же старой версии и переменная _MAX_BYTES в новой STL в Builder. В VC единица (то есть выделить на один элемент) "прошита" в коде. Короче, кто пользуется Builder'ом может делать так (НО ЭТО НЕ СТАНДАРТ):
Код

#define _USE_OLD_RW_STL
#include <list>

list<int> lst;
lst.allocation_size(10)


P.S. Предупреждая возможную полемику по поводу того где лучше STL в VC или Builder'е хочу сказать, что это некорректно. Потому как STL пишется не ими.

Это сообщение отредактировал(а) RAN - 9.8.2003, 17:15
PM MAIL ICQ   Вверх
RAN
Дата 9.8.2003, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 709
Регистрация: 14.3.2003
Где: Щёлково Моск.обл.

Репутация: 5
Всего: 6



Цитата
в конструкторе CList можно указывать количество элементых, которые будут храниться, но причина глубже

DENNN, ты не понял - указывается не количество элементов, которые будут храниться, а кол-во элементов в блоке памяти, выделяемом при необходимости. Т.е. память выделяется всегда на 10 (по-умолчанию) элементов, т.е при вставке 11 элемента, CList выделит память не на один, а сразу на 10 элементов, и при добавлении 12, 13, .. , 20 элемента память выделяться не будет.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 9.8.2003, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Cегодня открыл книгу Л.Аммерала по STL -- так понравилось, что "проглотил" половину (правда, там начальный уровень, но очень толково), особенно понравилось то, чего нету в MFC -- deque, set, multimap, итераторы и др. Частично беру свои слова обратно (насчет сложности STL).

А можно ли как-то использовать istream/ostream_iterator совместно с MFC'шным CArchive (очень сильно нужно smile.gif) ?

Это сообщение отредактировал(а) mr.DUDA - 9.8.2003, 21:02


--------------------
user posted image
PM MAIL WWW   Вверх
podval
Дата 14.8.2003, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 1
Всего: 62



Есть руководство по STL на русском языке. Не помню, где скачал. Но если что, можно выложить. Надо?
PM WWW ICQ   Вверх
mr.DUDA
Дата 14.8.2003, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Если хорошее -- давай, выкладывай на топик по книгам и ресурсам !

Thanks.


--------------------
user posted image
PM MAIL WWW   Вверх
podval
Дата 15.8.2003, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 1
Всего: 62



Вот ссылка, по которой можно скачать Русское руководство по STL.

Положите это в FAQ что ли.
PM WWW ICQ   Вверх
RAN
Дата 16.8.2003, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 709
Регистрация: 14.3.2003
Где: Щёлково Моск.обл.

Репутация: 5
Всего: 6



Цитата
Есть руководство по STL на русском языке. Не помню, где скачал. Но если что, можно выложить. Надо

Хотел было сказать, что полное описание есть на сайте создателей библиотеке Hewlett-Packard Company (там в двух форматах), но потом удивило, что padval выложил перевод этой статьи.

PM MAIL ICQ   Вверх
Fantasist
Дата 19.8.2003, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Цитата
Вот ссылка, по которой можно скачать Русское руководство по STL.


Для изучения STL это руководство практически полностью бесполезно. Его можно уже почитать потом, что уточнения деталей.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
mr.DUDA
Дата 19.8.2003, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Fantasist, полностью согласен. Вообще-то я очень быстро "въехал" в STL по книге Л.Аммерала (бумажный вариант).


--------------------
user posted image
PM MAIL WWW   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1363 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.