0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22
|
|||||||||||
1 | |||||||||||
Приведение типа указателя19.05.2015, 14:29. Показов 1034. Ответов 9
Метки нет (Все метки)
Здравствуйте, у меня такой вопрос: как организовать приведение типа указателя к другому? Есть указатель
0
|
19.05.2015, 14:29 | |
Ответы с готовыми решениями:
9
Приведение указателя базового типа Приведение типа указателя на метод Приведение указателя на функцию Приведение void* указателя к типу |
44 / 44 / 19
Регистрация: 04.05.2014
Сообщений: 190
|
|
19.05.2015, 14:33 | 2 |
Так очень не рекомендуют делать. Поля класса могут располагаться в памяти по-разному в зависимости от настроек компилятора. Следует передавать везде указатель на сам класс и из него получать любые данные.
0
|
Модератор
13526 / 10772 / 6420
Регистрация: 18.12.2011
Сообщений: 28,760
|
||||||
19.05.2015, 14:36 | 3 | |||||
Такая практика порочна.
Она дает неопределенное поведение программы. Работайте с указателями только в пределах выделенной под переменную памяти. В контейнерах STL именно для этого и созданы обобщенные указатели - итераторы. Т.е. в пределах string можете передвигаться так:
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
19.05.2015, 14:44 | 4 |
Это не правильный подход. Надо создать итератор для вашего класса и его уже инкрементировать сколько захочется.
0
|
Заблокирован
|
|
19.05.2015, 14:52 | 5 |
В классе обычно данные разнородные, как по типу, так и по размеру Ересь в общем
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
19.05.2015, 14:59 | 6 |
Ну и итератор будет там себя прекрасно чувствовать.
0
|
15 / 15 / 8
Регистрация: 17.06.2013
Сообщений: 209
|
|
19.05.2015, 15:01 | 7 |
SatanaXIII, а можно пример?
0
|
Заблокирован
|
||||||
19.05.2015, 15:02 | 8 | |||||
Каким образом?
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|
19.05.2015, 15:15 | 9 |
Вот хороший пример: Собственный класс-итератор
Немножко теории: http://habrahabr.ru/post/84184/ Мощно: Вектор наподобие STL
0
|
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 22
|
|
19.05.2015, 15:22 [ТС] | 10 |
Спасибо!Пытаюсь теперь написать итератор, не подскажете, как реализовать begin() и end()? Запутался немного, глядя на этот пример. Они могут относиться к разным типам? То есть, если первое поле класса,допустим , string, а последее int?
0
|
19.05.2015, 15:22 | |
19.05.2015, 15:22 | |
Помогаю со студенческими работами здесь
10
Приведение void* к типу указателя на структуру Приведение указателя на void к другому типу? Приведение void указателя к определенному типу с сохранением результата Конструкторы, приведение типа и ошибка "Не найден оператор, принимающий правый операнд типа 'char *'" приведение типа C-style приведение типа: (T) x Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |