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

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

Войти
Регистрация
Восстановить пароль
 
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
#1

Чем плохой указатель на void? - C++

02.08.2013, 12:10. Просмотров 859. Ответов 11
Метки нет (Все метки)

Здравствуйте! Недавно прочитал статью на хабре http://habrahabr.ru/post/102930/ Сабж - архитектура игрового двигла, а именно менеджер состояний. В нем используется указатель на войд. Вот внизу комментарии есть, что это все сплошной говнокод и указатель такой нельзя юзать в большом проекте. Объясните мне, почему? Что же такого страшного в использование такого указателя не только в данной статье, а в общем? Чем плох указатель на void?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.08.2013, 12:19     Чем плохой указатель на void? #2
а вы можете сказать на что указывает ваш void* в каждый момент времени?
на то и были придуманы шаблоны в с++ чтоб тип всегда был известен
Сергей_Солопов
1 / 1 / 0
Регистрация: 02.08.2013
Сообщений: 20
02.08.2013, 12:26     Чем плохой указатель на void? #3
Для большого проекта уменьшает скорость обработки из-за выведения времени на определения типа.
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
02.08.2013, 12:32  [ТС]     Чем плохой указатель на void? #4
Jupiter, То есть нужно пользоваться шаблонами или полиморфизмом?
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
02.08.2013, 12:40     Чем плохой указатель на void? #5
Цитата Сообщение от anubis1768 Посмотреть сообщение
Jupiter, То есть нужно пользоваться шаблонами или полиморфизмом?
можно и void*
Те кто страдают склерозом и не помнят весь свой код - пусть боятся
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.08.2013, 13:16     Чем плохой указатель на void? #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от anubis1768 Посмотреть сообщение
То есть нужно пользоваться шаблонами или полиморфизмом?
нет, шаблоны придумали просто так чтоб ними никто не пользовался
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.08.2013, 15:07     Чем плохой указатель на void? #7
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Те кто страдают склерозом и не помнят весь свой код - пусть боятся
Писать код надо так, чтобы помнить пришлось как можно меньше. Код должен быть "говорящим", и говорящим как можно более конкретные вещи. Может еще имена переменным предложите давать var1, var2 .. ?

Если есть некая иерархия объектов, то в качестве обобщенного указателя (void*), используется указатель на самый базовый класс. А там уже виртуальными методами и прочими RTTI можно получить реальный тип объекта.
Kastaneda
02.08.2013, 15:37
  #8

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Писать код надо так, чтобы помнить пришлось как можно меньше. Код должен быть "говорящим", и говорящим как можно более конкретные вещи. Может еще имена переменным предложите давать var1, var2 .. ?
[sarcasm] рассуждения типичного склеротика [/sarcasm]

ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
02.08.2013, 15:44     Чем плохой указатель на void? #9
Цитата Сообщение от Jupiter Посмотреть сообщение
нет, шаблоны придумали просто так чтоб ними никто не пользовался

Не по теме:

Вот, когда пытаешься скомпилировать некий код (ошибочный офк) в котором spirit/fusion/proto - это высказывание кажется правдивым.

OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1242 / 991 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
02.08.2013, 22:01     Чем плохой указатель на void? #10
Цитата Сообщение от anubis1768 Посмотреть сообщение
Чем плох указатель на void?
Ничем. Пока он используется как указатель на "непонятный кусок байтов, смысл которого меня вообще не волнует". Если смысл появляется, то стоит использовать указатель на какой-то конкретный тип (он может быть неопределённым, но имя ему обязательно надо дать). Тогда хоть чуть-чуть плюшек статической типизации будет для (очевидно) динамически типизированного кода.
gray_fox
02.08.2013, 22:36
  #11

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Те кто страдают склерозом и не помнят весь свой код - пусть боятся
lol у меня склероз оказывается... спасибо, доктор)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2013, 18:46     Чем плохой указатель на void?
Еще ссылки по теме:

C++ Как узнать тип, переданный через указатель на void?
C++ Указатель типа void c++
C++ Привести указатель на класс к указателю на void
Указатель типа void C++
Допустима ли запись вида void method(T *& member)? (ссылка на указатель) C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
03.08.2013, 18:46     Чем плохой указатель на void?
  #12

Не по теме:

Цитата Сообщение от anubis1768 Посмотреть сообщение
а именно менеджер состояний.
Статья слизана с книги "Programming Role Playing Games with DirectX"

Yandex
Объявления
03.08.2013, 18:46     Чем плохой указатель на void?
Ответ Создать тему
Опции темы

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