Форум программистов, компьютерный форум CyberForum.ru

STL Containers - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ STL Iterators http://www.cyberforum.ru/cpp-beginners/thread634421.html
Допустим есть проект #ifndef ContainerTemplateFunction_hpp // Preprocessor gates #define ContainerTemplateFunction_hpp #include <list> #include <vector> #include <iostream>
C++ Перевод из кодировки UTF - 8 в ANSI Всем привет! Пишу прогу на линухе, результаты работы вывожу в html файл. Так вот когда открываю файл для прочтения с помощью браузера там иероглифы, с помощью текстового редактора в linux то все ок. Я так понял что браузер не нравиться кодировка, конечно можно в настройках браузера изменить, но мне нужно что бы такой заморочки не было. Подскажите как мне изменить кодировку? http://www.cyberforum.ru/cpp-beginners/thread634420.html
C++ Книги для использования оконных приложений
Всем привет. Консольные приложение это хорошо, но я уже прочитал книгу, и более менее знаю азы c++. Но хотелось бы создавать уже нормальные, красивые приложения с использованием Windows Forms Application. Хочу попросить чтобы мне посоветовали литературу или сайт где есть уроки поповоду использования WFA.
C++ Разыменования указателя
Добрий день подскажите пожалуйса можно ли разыменовать такое вот виражения pt->str char*pt-указатель str объект класса _bstr_t нужно получить данные которые находятся в str если сделать вот так cout<< pt->str; то я данные вижу а если вот так SetDlgItemText(IDC_EDIT1,pt->str); то в окно EDIT1 ничего не выводит может его можно разыменовать?
C++ Засада с машинным эпсилон, или Либо я дурак http://www.cyberforum.ru/cpp-beginners/thread634398.html
Эту задачку выполняют все начинающие. Так вот, берём два простеньких кода. Они настолько коротки, тупы и очевидны, что я даже не комментировал их. Первый, работает нормально. #include <iostream> using std::cout; using std::endl;
C++ Тема: Записи. Работа с текстовыми файлами Тема: Записи. Работа с текстовыми файлами. Дан файл f, содержащий сведения о багаже нескольких пассажиров. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). Найти число пассажиров, имеющих более двух вещей и число... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1240 / 989 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
07.08.2012, 20:18     STL Containers
Цитата Сообщение от Leeto Посмотреть сообщение
И что тогда значит сделайте вектор растущий ? что имеется ввиду ?
Мож есть какие идеи подскажи плиз
А то и значит: вам надо реализовать свой resize().

resize() изменяет размер вектора и в памяти, и доступный пользователю.
reserve() — только в памяти.

Смысл в том, что обычно это авторасширение делается так:
1. При создании вектора выделяется место, пусть, под 10 элементов. Это действительный размер вектора.
2. Эффективный размер всё ещё равен нулю.
3. Пользователь делает push_back() — эффективный размер растёт на единичку, элемент vector[0] становится доступным ему. Выделенная память при этом не изменяется.
4. Как вся предвыделенная память заполняется, вектор изменяет свой размер. На сколько именно — это эвристическая штука. Обычно увеличивается в полтора-два раза.
5. Обычно делаются ещё функция reserve(), которая позволяет зарезервировать заранее нужное место, чтобы не было перевыделений. Иногда ещё sqeeze(), для избавления от лишнего места: чтобы эффективный размер стал равен выделенному.

Вся соль в этом механизме: как эффективно увеличивать размер вектора. И как грамотно его уменьшать.
 
Текущее время: 14:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru