![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| fry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 4.10.2006 Репутация: нет Всего: 3 |
Структурой пользоваться нельзя т.к. при этом функция должна быть вызвана, а это запрещено в параметре шаблона.
Может кто знает варианты реализаций из буста.... типа приведенного мною. ХМММММммм.....после ...(слишком неприлично)... выяснилось, что sizeof не виноват. Всем спасибо за быстрый отклик и предложения в тему. Это сообщение отредактировал(а) fry - 20.11.2009, 20:58 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
значение enum таким образом получать нельзя, к сожалению. кроме того, вариант с sizeof по идее тоже работать не должен из-за выравнивания. |
|||
|
||||
| Леопольд |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
Тогда будет StaticLength().value что на мой взгляд некрасиво... Точнее вообще не получится, её же вызвать нельзя Добавлено @ 00:49
Функция только декларированна. Её нельзя вызвать. Добавлено @ 00:51
Ссылку на массив можно в качестве возвращаемого значения использовать? Это сообщение отредактировал(а) Леопольд - 21.11.2009, 00:55 -------------------- вопросов больше чем ответов |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
шас проверю..
насчет некрасивости согласен.. но и предложенный вариант тоже не очень красив.. проблема заинтересовала.. надо подумать .. Добавлено через 2 минуты и 14 секунд хотя да.. без использования sizeof будет вызов функции.. |
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
По моему к POD типам это не отностится, или я не прав? -------------------- вопросов больше чем ответов |
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
По всей видимости стандарт 2003 говорит что я прав
3.9.4 The object representation of an object of type T is the sequence of N unsigned char objects taken up by the object of type T, where N equals sizeof(T). The value representation of an object is the set of bits that hold the value of type T. For POD types, the value representation is a set of bits in the object representation that determines a value, which is one discrete element of an implementation-defined set of values.37) Это сообщение отредактировал(а) Леопольд - 26.11.2009, 11:58 -------------------- вопросов больше чем ответов |
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
Всё же ясно это не следует. Видимо имеется ввиду что даже с выравниванием можно скопировать в массив чаров а птом в другой объект при помощи memcpy. Однако, мне кажется неэффективным копировать добавленные в целях выравнивания байты. Логичнее всего, что sizeof должен выдать невыровненный размер для POD типов.
Это сообщение отредактировал(а) Леопольд - 26.11.2009, 14:56 -------------------- вопросов больше чем ответов |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |