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

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

Войти
Регистрация
Восстановить пароль
 
Destank
99 / 99 / 10
Регистрация: 26.01.2012
Сообщений: 339
Записей в блоге: 1
#1

Указатель на тип данны - C++

14.09.2012, 20:08. Просмотров 480. Ответов 3
Метки нет (Все метки)

Если я правильно понял то:
C++
1
2
3
4
5
struct Vector{
    int x;
    int y;
    
}Ve;
Vector - тип данных такой же как int только самописный,
Ve - переменная этого типа
C++
1
typedef Vector Vec;
теперь Vec точно такой же тип данных как и Vector, непонятно правда зачем такие заморочки, нет бы всегда объявлять переменные через Vector.
C++
1
2
3
4
5
6
7
8
9
10
11
int main(){
    Vector A;
    Vec G;
    
 
    A.x=10;
    Ve.x=6;
    G.x=7;  
 
    return 0;
}
Все переменные объявленные по разному работают одинаково.
Всё бы норм, но что значит
C++
1
typedef Vector *Veee;
указатель на тип данных???
теерь Veee тоже тип как Vector или Vec? ссылка на переменную еще понятна, но на тип вообще как то странно. Как работает такая запись?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2012, 20:08     Указатель на тип данны
Посмотрите здесь:

C++ Процедурный тип на функцию содержащую указатель на массив
C++ Как в связном списке присвоить NULL полю next, если тип этого поля не указатель, а ссылка?
Создать абстрактный тип данных (структура) - вектор, который имеет указатель на short и число элементов C++
C++ Как создать тип данных указатель в собственном языке программирования?
Указатель и его неопределённый тип C++
C++ указатель на неопределенный тип
Создать абстрактный тип данных - класс вектор, который имеет указатель на long, число элементов и переменную состояния C++
Как изменить тип объекта, на который указывает указатель? C++
C++ Как объявить указатель на массив через typedef и как инициализировать такой тип
Создать абстрактный тип данных (структура) — вектор, который имеет указатель на int и число элементов C++
C++ Как узнать тип, переданный через указатель на void?
Универсальный указатель или универсальный скалярный тип C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1240 / 989 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.09.2012, 20:28     Указатель на тип данны #2
Цитата Сообщение от Destank Посмотреть сообщение
Как работает такая запись?
Работает как "считать, что тип данных Veee это на самом деле Vector* (указатель на Vector)".
DU
1479 / 1055 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
14.09.2012, 20:51     Указатель на тип данны #3
подростете - поймете.
вот один из примеров. есть класс, в котором используется какой-то контейнер, с ним что-то делается, и т.п. везде в коде упоминается тип этого контейнера:
C++
1
2
3
4
5
6
7
class Foo
{
   typedef std::vector<int> Container;
   Container m_container;
   ...
   ...
};
Потом наступает момент, когда вы понимаете, что вектор не подходит, нужен другой контейнер. И вот так заменой одной строки
typedef std::deque<int> Container;
везде внутри класса уже дек используется. Если не использовались какие-то особые фичи вектора, которых нет у дека - то на этом писанина заканчивается. Все исправилось. Все таки, скорее всего все равно придется код поредактировать, но работы уже меньше.



Еще можно привести аналогию с магическими числами и именованной константой вместо нее.

всюду в коде может встречатся какое-нибудь магическое число, которое с первого взгляда непонятно что означает. например 256. Но вот если заменить 256 на именованную константу вроде
const unsigned MAX_BUFFER_SIZE = 256 и ее использовать - то снатонвится все понятнее. Вот в такой аналогии std::vector<int> - магический тип, а typedef std::deque<int> Container - ввод именованного типа. Container - не очень удачное название но все же.
Destank
99 / 99 / 10
Регистрация: 26.01.2012
Сообщений: 339
Записей в блоге: 1
14.09.2012, 21:11  [ТС]     Указатель на тип данны #4
Ооо, я стек и очередь пытаюсь понять, запнулся на указателе на тип, а вы уже ооп грузите ...
Yandex
Объявления
14.09.2012, 21:11     Указатель на тип данны
Ответ Создать тему
Опции темы

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