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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
#1

Указатель на void - C++

18.08.2013, 14:16. Просмотров 1928. Ответов 22
Метки нет (Все метки)

Как можно сделать универсальную функцию, которая принимает указатель на неопределенный тип, увеличивает значение на которое указывает этот самый указатель и возвращает его.

Что-то вроде этого (нерабочий вариант):

C++
1
2
3
4
5
void *f(void *pv)
{
    *pv = *pv + 1;
    return pv;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2013, 14:16     Указатель на void
Посмотрите здесь:

Указатель типа void - C++
Добрый день. enum Type { Double, Int, Float }; void func(int k,enum Type t,...) { void *pv; pv = (...); ... }

Указатель void на структуру - C++
Есть некий тип структуры action. Для функции _beginthread третьим параметром требуется указатель на void. Как преобразовать структуру в...

Указатель типа void c++ - C++
Haпример указатель типа void*ptr char *p void *ptr="abs"; p=((char *)ptr);Так указатель неопределённого типа, присваивается к...

Арифметика указателей (указатель на void*) - C++
У меня есть указатель на void*, который я получил с помощью void *beginPointer = VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);Мне...

Обобщенный указатель типа void - C++
В приложенной картинке рассказывается о динамическом распределении памяти в С. Сказано, что функция malloc() возвращает указатель типа...

Чем плохой указатель на void? - C++
Здравствуйте! Недавно прочитал статью на хабре http://habrahabr.ru/post/102930/ Сабж - архитектура игрового двигла, а именно менеджер...

Привести указатель на класс к указателю на void - C++
Хай #pragma once #include "list.h"; #include "Print.h"; class Robot { public:

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
19.08.2013, 00:40     Указатель на void #16
castaway, конкретной задачи скорее всего не стоит. Просто чел осваивает конструкции языка, и в итоге рождаются такие вот нелогичные монстры. Из последних:
Как узнать в какой ОС запускается программа?
Как стать программистом за 2 недели?
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
19.08.2013, 00:49     Указатель на void #17
Tulosba, спасибо, тут я с тобой согласен, это очевидно. Тогда давайте посоветуем ТС умную книгу. Даже не книгу, а раздел им посвященный: Литература C++

Не по теме:

P.S.: в моих словах нет ни капли иронии и отвращения к названию темы. Я говорил, так сказать, "от души". Исключительно только для того чтобы помочь новичкам. Поэтому прошу считать мои слова не оскорбительными.

BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
19.08.2013, 09:18  [ТС]     Указатель на void #18
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
BigLow, зачем тебе узнавать тип?
Цитата Сообщение от Tulosba Посмотреть сообщение
Пойди туда - не знаю куда, принеси то - не знаю что.
Цитата Сообщение от castaway Посмотреть сообщение
BigLow, на самом деле, перед Вами стоит какая-то конкретная задача?
Я дико извиняюсь за неправильно поставленный вопрос. Просто где-то была тема про то как с помощью указателя на void создавался тип данных в который можно записывать любые значения. И вчера вечером мне помогли найти ее. Вот она Список С++

А это я сам вроде пытался что-то сделать, но направление не то было
eXtream
24 / 24 / 0
Регистрация: 10.03.2010
Сообщений: 161
19.08.2013, 09:48     Указатель на void #19
а VARIANT не подайдёт?
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
19.08.2013, 11:17  [ТС]     Указатель на void #20
eXtream, хочется самому сделать такой класс, а не пользоваться готовым )
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
19.08.2013, 11:20     Указатель на void #21
Цитата Сообщение от BigLow Посмотреть сообщение
eXtream, хочется самому сделать такой класс, а не пользоваться готовым )
Я думаю тут вариантов не так уж много. Подглядеть идею можно уже в готовом.
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
19.08.2013, 11:24  [ТС]     Указатель на void #22
Цитата Сообщение от castaway Посмотреть сообщение
Подглядеть идею можно уже в готовом.
уже нашел исходники из boost boost/any.hpp
пытаюсь понять что и как там устроено
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2013, 15:30     Указатель на void
Еще ссылки по теме:

Как узнать тип, переданный через указатель на void? - C++
есть функция, принимает LPVOID, нужно узнать как тип переменной был передан, и сколько занимает в байтах, подскажите как это сделать

указатель на void в иерархии классов. можно ли так делать? - C++
здравствуйте! Такое дело: мне нужно написать иерархию классов для работы с таблицей. базовый класс - это просто таблица, а производный...

Допустима ли запись вида void method(T *& member)? (ссылка на указатель) - C++
Есть структура struct FamilyMember { int age; std::string name; FamilyMember(int _age, std::string _name): ...

Освободить указатель на указатель - C++
class Interface { }; class Test : public Interface { }; void main() { Interface** s = new Interface*; for (int i =...

void - C++
Объясните пожалуйста как работает спецификатор тип void в функии когда он употребляется вкачестве имени типа... Добавлено через 1...


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

Или воспользуйтесь поиском по форуму:
Dmitriy_M
1341 / 1222 / 112
Регистрация: 20.03.2009
Сообщений: 4,392
Записей в блоге: 11
19.08.2013, 15:30     Указатель на void #23
varian/any те же яйца, только в профиль. Без приведения типа/rtti не разберешь, что в нем.
Yandex
Объявления
19.08.2013, 15:30     Указатель на void
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru