Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Ок. Только маленькое замечание 28.07.05 20:23 Число просмотров: 1362
Автор: void <Grebnev Valery> Статус: Elderman
|
> до чего дошла лень Ж) > В заголовке реализации конструктора обнулять и по очереди. > В крайнем случае собрать все переменные которые надо > "обнулять" в структуру и обнулять в конструкторе ее. А то > ну если ты потом добавишь в класс что нить что нельзя > обнулять. Да хотябы виртуальную функцию...
Спасибо за комментарий.
1. Интересен сам вопрос. Вопрос и в том, что должен возвращать sizeof() для "пустого" класса или структуры, при условии, что они не содержат переменных, а только функции, илидаже_вовсе_пустой_класс например:
class a { } ;
Компилятол VC для sizeof( a ) всегда вернёт единицу. Впрочем, как вернёт единицу и для:
class b{ char ch; );
Т.е. sizeof(a) == 1 и sizeof(a) == 1 тоже.
Таким образом,если_быи оставить вопрос о виртуальных функциях (см. ниже) - всё равно не понятно что и куда копировать.
2.
>> .... Да хотябы виртуальную функцию...
Ты здесь прав. На 100%. Хочу обратить твоё внимание, что MS опять в своих статьях с этим, кажется облажалась. Они пишутошибочносовершенно обратное:
" .... Only the non-virtual data members occupy space in each instance. "
(Visual C and C++ (General) Technical Articles. C++: Under the Hood)
Хотя, конесно, английский сложный язык... Зависит от контекста. Может я и не правильно читаю.
Повторяю, ты прав с виртуальными функциями на 100%. (в случае с виртуальными функциями, в ран тайм, появится 32-битная скрытая от программера ссылка на vtbl, еслт только не ошибаюсь)
Спасибо за реакцию.
|
|
|