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

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

Войти
Регистрация
Восстановить пароль
 
pontakrin
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 71
#1

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

06.10.2012, 11:17. Просмотров 603. Ответов 4
Метки нет (Все метки)

встречаю вот такой вид употребления ключевого слова typedef:
C++
1
2
3
4
typedef struct                          // Создаём структуру для звезд
{
     int tmp;
} name;
это аналогично стандарту

C++
1
2
3
struct name{
  int tmp;
};
интересно почему так сложилось и до сих пор живо?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2012, 11:17     странное употребления к-го слова typedef
Посмотрите здесь:

Работа со строками (sting.h) (печатать первые буквы слов в порядке убывания частоты их употребления) - C++
Составить программу, которая позволяет ввести текст, а потом печатает первые буквы слов в порядке убывания частоты их употребления. Слово...

Строка: .Написать программу, определяющую в заданном тексте для каждой буквы алфавита количество ее употребления. - C++
1.Написать программу, определяющую в заданном тексте для каждой буквы алфавита количество ее употребления. Не могли бы вы помочь)

typedef - C++
Доброго времени суток, уважаемые программисты! Не могу понять несколько строк из примера учебника Дейтела. С первой строкой все понятно,...

Typedef - C++
Наткнулся на пример ниже: typedef char *cstring; //Каков тип переменной cstr в следующем объявлении: const cstring cstr; ...

typedef - C++
Сталкнулся с таким объвлением typedef __mpz_struct mpz_t; Не могу врубится что оно значит? ...

typedef - C++
double f(double x){ } typedef double (*TPF)(double); TPF fff = f; fff(10.0); как и почему это работает корректно, если в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.10.2012, 11:23     странное употребления к-го слова typedef #2
Потому что кого-то напрягает писать постоянно struct name (в Си так положено), поэтому они используют вариант с тайпдефом, чтобы писать просто name а-ля Си++.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 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 вообще глупо т.к. писанины получается больше.

все ясно пасиб я так и думал это отголосок языка С
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2012, 16:23     странное употребления к-го слова typedef
Еще ссылки по теме:

Typedef - C++
Доброго времени суток. Привожу вам отрывок из книги "C и Visual C++ 2008 для начинающих". В книге приведен пример объявления структуры с...

typedef в c++ - C++
Здравствуйте! Нужно собрать полную информацию по оператору typedef в c++. Пока нашел, что typedef используется для задания новых...

Improper use of typedef - C++
В структурах : struct ActionController { public : int Signature; int ID; int ndx; int ActionSetsCount; ActionSet *...

не видит typedef - C++
вот примерно что в первом - a.h файле class a { enum eSomeEnum { a = 0, b, //... и так далее ...

typedef struct - C++
а зачем вы используете конструкцию typedef struct name{...} ? и какие она дает преимущества в отличии от struct name{...}


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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17547 / 5785 / 370
Регистрация: 30.03.2009
Сообщений: 15,934
Записей в блоге: 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
Ответ Создать тему
Опции темы

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