1. Когда виртуальные функции раскрываются подстановками (Release)? на опыте заметил, что в классе, живущем не дольше своего блока {...}. Есть стандарты?
2. Что такое указатель на динамический (обычный) метод? почему это не адрес кода метода?
3. Можно ли как-нибудь легально сделать две виртуальные функции (определения совпадают) одной реализацией?
4. Как по правилам реализуется передача параметра
struct B {...}
A::method(B b)
Конечно, же меня интересует архитектура IA-32
Несколько вопросов по C++
-
hasherfrog
Re: Несколько вопросов по C++
Хммм. Тест на профпригодность
2)
Цитата Страуструп:
...указатели на члены классов реализуются как структуры, содержащие относительную позицию в объектах и индекс в таблице виртуальных функций. Т.о. за значением указателя на член класса не обязательно стоит машинный адрес.
3) ИМХО, нет.
Не понимаю только, что Вы имеете в виде под словом Release? Есть реализация - implementation, еще есть релиз - итог, а у Вас что?
2)
Цитата Страуструп:
...указатели на члены классов реализуются как структуры, содержащие относительную позицию в объектах и индекс в таблице виртуальных функций. Т.о. за значением указателя на член класса не обязательно стоит машинный адрес.
3) ИМХО, нет.
Не понимаю только, что Вы имеете в виде под словом Release? Есть реализация - implementation, еще есть релиз - итог, а у Вас что?
-
hasherfrog
Re: Несколько вопросов по C++
1) По -режнему не могу понять вопросю
4) Внутрь
А::method передается адрес b.
4) Внутрь
А::method передается адрес b.