21
Фев
2017

Зачем typedef объявлять с одним и тем же типом

Наверно какие-то C-шные ухищрения. Навроде их классов. Вроде бы и объявление тут уже есть. Может поэтому? Вот такая строка например (из OpenCV):

typedef struct CvFileStorage    CvFileStorage;

Зачем же так писать? Не нашел никак, сходу, ответ на это. Когда-то (несколько лет назад), помню что читал об этом. Тогда чистый C был в моде наверное, а сейчас такое позабыто получается. Еще подобное видел в коде от Windows CE6 и др. Это запомнил:), а для чего нужно не помню никак. Если еще какие-то доп. куски кода надо привести, то скажите. Эта строка стоит перед структурой, которая у себя где-то в поле использует тип из этого typedef-а. Но зачем так писать, а не просто объявить его? Спасибо.

Источник: https://ru.stackoverflow.com/questions/630732/%D0%97%D0%B0%D1%87%D0%B5%D0%BC-typedef-%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D1%8F%D1%82%D1%8C-%D1%81-%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC-%D0%B8-%D1%82%D0%B5%D0%BC-%D0%B6%D0%B5-%D1%82%D0%B8%D0%BF%D0%BE%D0%BC

Share

Тебе может это понравится...