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

Базовые знания - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Хэш-таблица http://www.cyberforum.ru/cpp-beginners/thread694225.html
Дана строка произвольного размера. Необходимо найти все повторяющиеся фрагменты максимальной длины. Для начала нужно создать хэш-таблицу всех символов вида "символ ->массив позиций". Делаю по алгоритму, пока не получается. Кривой код: #include <iostream> #include <conio.h> #include <cstring> using namespace std;
C++ Удалить из массива элементы с номерами от K до L включительно нужна помощь ... Дано массив(целочисленный) размера N и целые числа K и L (1 <= K < L<= N). Требуется удалить из массива элементы с номерами от K до L включительно. http://www.cyberforum.ru/cpp-beginners/thread694222.html
C++ Поиск в векторе
Есть вектор v Нужно задать поиск значения 6 и присвоить переменной i номер элемента вектора v, в котором найдена искомое значение 6. В данном случае i=1 (v=6).
C++ Open SSL
Где взять библиотеку SSL по Win-32 вместе с хедерами ??? Как бы dll-ки нашел а хедеры из папки openssl ( ssl.h, sha.h ... ) не могу найти.
C++ Заполнение строк в структурах http://www.cyberforum.ru/cpp-beginners/thread694189.html
При выполнении программы: для первого элемента массива stud1 структуры student всё проходит нормально, все последующие итерации пропускают элемент структуры name. Предполагаю, что где-то хватается конец строки, не могу понять где...:-| 23 строка, возможно что-то там, но никак не разберусь! Заполнение: http://storage3.static.itmages.ru/i/12/1110/s_1352574253_5344831_f5a0e94bef.png Вывод:...
C++ Написать класс и его наследник Создать класс, описывающий квадратное уравнение. Определить, сколько корней имеет уравнение. Создать класс наследник, дополнительно хранящий строку (больше, больше или равно, меньше, меньше или равно). Решить получившееся квадратное неравенство. подробнее

Показать сообщение отдельно
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.11.2012, 01:42     Базовые знания
nikeo, да в принципе ничего о переменной по указателю сказать нельзя. Если использовать RTTI, то typeof(*ptr_to_var) даст её тип, но особого смысла в этом я не вижу.
Если вопрос про STL-контейнеры, то std::vector основан на динамическом массиве, который обычно имеет большую, чем необходимо в данный момент, фактическую длину. Как только место заканчивается - выделяется новый массив большего размера (стандартные множители размера - 2 или 1,6 (золотое сечение, 1,618...)).
Список (std::list) реализуется так, как я рассказал выше, с учётом того, что он ещё и кольцевой (последний элемент хранит указатель на первый).
Как такового дерева в стандартных контейнерах нет, но такие структуры, как std::set и std::map (а также их мультиверсии) представляются красно-чёрными деревьями. Помимо самого хранения данных в виде бинарного дерева, во время вставок и удалений происходит балансировка дерева, с целью равномерно распределить элементы по всему дереву (чтобы не было так, что, например, левое поддерево корня имеет высоту 10, а правое - высоту 2).
Стек (std::stack) и очередь (std::queue) в контексте STL - адаптеры контейнеров (т.е. внутри представлены каким-либо контейнером, а наружу выдают только ту часть его интерфейса, которая характерна для конкретной структуры). Теоретически в качестве контейнера в стек и очередь можно при создании в качестве второго аргумента шаблона можно передать любой последовательный контейнер, но по умолчанию используется std::deque, так называемый дек, характерный тем, что имеет быструю вставку в начало и конец. Внутренне представлен как связный список небольших массивов (в первом приближении). Расширяется за счёт выделения нового такого узла-массива. Лень мне расписывать его внутреннюю структуру, можно поискать по ключевому слову "std::deque внутренняя реализация".
 
Текущее время: 01:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru