| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Си вариант идиомы pimpl |
| Автор: boostcoder 27.1.2011, 02:22 | ||||||
| всем привет. в с++, реализацию скрываю так:
все как обычно. в Си пробую так:
получаю такое:
походу, в Си так нельзя. как подобное, обычно реализуется в Си ? спасибо. |
| Автор: mes 27.1.2011, 02:33 |
| нету в С ни неймспейсов, ни вложенных (nested) классов.. Добавлено через 3 минуты и 7 секунд задайте длинное имя и опишите структуру снаружи.. |
| Автор: boostcoder 27.1.2011, 02:38 | ||
оказывается можно так:
вполне устраивает всем спасибо. |
| Автор: boostcoder 27.1.2011, 02:49 |
хидеров несколько, соответственно, и структур pimpl несколько. придумывать им имена, зная, что пользователю все равно с ними не работать - не логично. Добавлено через 50 секунд т.е. имена самим pimpl`ам |
| Автор: bsa 27.1.2011, 13:25 | ||||
| boostcoder, в Си совсем не требуется PIMPL, так как там нет классов как таковых. Т.е. ты объявляешь структуру и ряд функций для работы с указателем на нее. Определение структуры и реализацию функций делай уже в приватных исходниках. mystruct.h
|
| Автор: xvr 27.1.2011, 13:26 | ||||||
А придется, в С запись
|
| Автор: boostcoder 27.1.2011, 13:56 | ||
да, кстати, напоролся. Си немного вводит в ступор, после продолжительного НЕписания на нем
не знал |
| Автор: mes 27.1.2011, 15:09 |
ну так в первом же посте было: Добавлено @ 15:11 и еще, как уже не раз заметили, Вы не с той стороны подошли к Пимпл в С.. там подобное решается несколько другим образом.. и мышление в С++ стиле будет только мешать.. |
| Автор: boostcoder 27.1.2011, 15:14 |
про неймспейсы я понял, а вот про вложенные структуры как-то пропустил.. :( |