![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
всем здравия.
насущный вопрос: кто такие POD`ы и кто не POD`ы ? а то постоянно я все это то ли понимаю не правильно, то ли путаю. нужно утвердиться. спасибо. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
POD - Plain Old Data Structure
т.е. структура, не имеющая методов и состоящая из элементарных типов и POD Добавлено через 58 секунд тип POD это либо элементарный (скалярный) тип, или POD-структура Добавлено через 3 минуты и 57 секунд естественно, POD может содержать указатели на функции (или иметь статические функции-члены). ЗЫ Ночью мысли отрывочны хрр.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
как я это понимаю:
POD`ы - это встроенные типы или структуры не содержащие функций/методов. но мне несколько раз некали на то, что мои убеждения не верны. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
в какой части? понятие POD введено для совместимости с С: размещение в памяти, копирование и т.п. аспекты щас... Добавлено через 31 секунду вот: http://www.fnal.gov/docs/working-groups/fp...xx/doc/POD.html |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Не только: они должны иметь членами только встроенные типы или другие POD'ы. Грубо говоря, их можно копировать \ сериализовать с помощью memcpy. Кстати, в этом смысле методы им совсем не мешают. И совместимости с C тоже... Т.е. главное - это "плоская" структура, одним куском. -------------------- ... |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
boostcoder
т.е. в итоге имеет это POD структура - это структура, которая НЕ ИМЕЕТ
Это сообщение отредактировал(а) azesmcar - 28.7.2011, 08:16 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
в принципе azesmcar все рассказал, только хотелось бы еще раз обратить на аспекты :
нет это пользовательские типы (struct, class или union) наличие функций-членов (статических и не статических) и статических дата-членов не сказывается на PODизме |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| FCM |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.3.2009 Репутация: нет Всего: 9 |
В С++0x:
Arithmetic types (3.9.1), enumeration types, pointer types, pointer to member types (3.9.2), std::nullptr_- t, and cv-qualified versions of these types (3.9.3) are collectively called scalar types. Scalar types, POD classes (Clause 9), arrays of such types and cv-qualified versions of these types (3.9.3) are collectively called POD types. Ну и понятие POD-классов слегка изменилось (Clause 9). |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |