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

Какие подводные камни могут быть, при хранении в контейнере элемента типа void*? - C++

Восстановить пароль Регистрация
 
valval
1 / 1 / 0
Регистрация: 29.01.2014
Сообщений: 30
04.02.2014, 11:53     Какие подводные камни могут быть, при хранении в контейнере элемента типа void*? #1
Привет читателям!
Какие подводные камни могут быть, при хранении в контейнере элемента типа void*?
Делаю некое подобие "memory pool".
Например:
C++
1
std::vector<void*> somes
..
C++
1
std::cout << *static_cast<int*>(somes[0])
C++
1
std::cout << *static_cast<std::string*>(somes[14])
Примерно так собираюсь использовать, но с проверкой на валидность.
ps: Элементы гарантированно не будут приводится к типу по иерархии наследования.

Есть камни?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 11:53     Какие подводные камни могут быть, при хранении в контейнере элемента типа void*?
Посмотрите здесь:

написать программу перезагрузки функции поиска минимального элемента в массиве. элементы массива могут быть вещественные и целые. C++
C++ я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!
Можно ли узнать размер одного элемента в STL контейнере? C++
C++ Данные типа void*
C++ Напишите функцию Swap(a, b), аргументами которой могут быть числа любого типа
Где могут быть ошибки? C++
C++ Подводные камни в стеке, в очереди, в списке
C++ Наличие элемента в контейнере

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
04.02.2014, 13:56     Какие подводные камни могут быть, при хранении в контейнере элемента типа void*? #2
удаление, надо про него не забыть, и перед удалением приводить к правильному указателю, чтобы не потерять инфу о хранимом типе, например
delete static_cast<int*>(vec[0])

Добавлено через 1 час 16 минут
Цитата Сообщение от valval Посмотреть сообщение
Элементы гарантированно не будут приводится к типу по иерархии наследования.
т.е будут классы с наследованием, тогда - виртуальные деструкторы и приводить к указателю на базовый класс
valval
1 / 1 / 0
Регистрация: 29.01.2014
Сообщений: 30
05.02.2014, 02:24  [ТС]     Какие подводные камни могут быть, при хранении в контейнере элемента типа void*? #3
Ещё что выскажите?
Yandex
Объявления
05.02.2014, 02:24     Какие подводные камни могут быть, при хранении в контейнере элемента типа void*?
Ответ Создать тему
Опции темы

Текущее время: 03:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru