реклама на сайте
подробности

 
 
> Вопросы по С++
ig_z
сообщение Apr 7 2006, 12:47
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



1. Есть ли какая либо возможность узнать размер виртуальной таблицы методов для определенного класса?

2. Как можно задать нужный размер enum в байтах? Раньне думал, что определяя последний елемент подобным образом

typedef enum {ev1,ev2,ev3,evNone = 0xFFFF} TPacketMessage;

получаю размер 2 байта, но похоже, что это не так
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dxp
сообщение Apr 7 2006, 13:38
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(ig_z @ Apr 7 2006, 19:47) *
1. Есть ли какая либо возможность узнать размер виртуальной таблицы методов для определенного класса?


Средствами языка? Насколько знаю, нет, т.к. и сущности такой в языке нет - это технологическая вещь. Да и зачем? А если для интересу, то можно, во-первых, в листинге посмотреть, IAR, вроде, там показвает, сколько байтов резервирует для нее. Ну, и ее размер должен быть равен sizeof(указатель на функцию)*количество виртуальных функций.

Цитата(ig_z @ Apr 7 2006, 19:47) *
2. Как можно задать нужный размер enum в байтах? Раньне думал, что определяя последний елемент подобным образом

typedef enum {ev1,ev2,ev3,evNone = 0xFFFF} TPacketMessage;

получаю размер 2 байта, но похоже, что это не так

Размер перечислимого типа зависит от реализации. Как правило, под него отводится минимальный целый тип, который может описать все значения. А сколько у Вас получилось в этом примере?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 11:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016