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

странное употребления к-го слова typedef - C++

Восстановить пароль Регистрация
 
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
06.10.2012, 11:17     странное употребления к-го слова typedef #1
встречаю вот такой вид употребления ключевого слова typedef:
C++
1
2
3
4
typedef struct                          // Создаём структуру для звезд
{
     int tmp;
} name;
это аналогично стандарту

C++
1
2
3
struct name{
  int tmp;
};
интересно почему так сложилось и до сих пор живо?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.10.2012, 11:23     странное употребления к-го слова typedef #2
Потому что кого-то напрягает писать постоянно struct name (в Си так положено), поэтому они используют вариант с тайпдефом, чтобы писать просто name а-ля Си++.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
06.10.2012, 11:25     странное употребления к-го слова typedef #3
Потому что недалёкие преподаватели утверждают, что перед изучением С++ необходимо выучить Си. В Си при создании объекта структуры приходилось писать слово struct, а если создать псевдоним, то уже не требовалось оно. И эти "лишние знания" перетекли в С++.
Первый вариант избыточен и бесполезен. Просто забудь про него.
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
06.10.2012, 11:29  [ТС]     странное употребления к-го слова typedef #4
Цитата Сообщение от Deviaphan Посмотреть сообщение
недалёкие преподаватели утверждают, что перед изучением С++ необходимо выучить Си
абсолютно согласен засоряют голову людям.

а насчет употребления typedef вообще глупо т.к. писанины получается больше.

все ясно пасиб я так и думал это отголосок языка С
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16828 / 5249 / 321
Регистрация: 30.03.2009
Сообщений: 14,136
Записей в блоге: 26
06.10.2012, 16:23     странное употребления к-го слова typedef #5
В общем-то уже ответили, но, возможно, не все увидели смысл.

Суть в том, что в языке Си к структуре, описанной как

C
struct name { ... };
можно было обращаться только как "struct name". Такая структура НЕ вводила новое имя "name" в текущей области видимости, а вводила, условно говоря, имя "struct name". Т.е. после такого описания структуры можно было бы завести переменную с именем name и она НЕ конфликтовала бы с "struct name". В Си++ сие поведение изменилось и при описании "struct name" в текущую область видимости вводятся два имени: "name" и "struct name". А потому использование typedef'а в Си++ в подобных местах стало избыточным (хотя оно полезно для Си)

Ну и для самообразования: Указатель на структуру - что напечатает программа а подробное пояснение тут: Указатель на структуру - что напечатает программа
Yandex
Объявления
06.10.2012, 16:23     странное употребления к-го слова typedef
Ответ Создать тему
Опции темы

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