Re[3]: Преобразование указателей
От: Андрей Тарасевич Беларусь  
Дата: 13.11.03 18:21
Оценка: :)
Здравствуйте, Аноним, Вы писали:

АТ>>Нет. Указатель на функцию и указатель на метод класса — объекты совершенно разной природы в С++ и никакого преобразования между ними быть не может. И даже на уровне бинарного представления в общем случае внутреннее устройство этих указателей может сильно различаться (здесь уже речь идет о конкретных платформах/компиляторах, разумеется).


А>не правда

А>точно такой же вызов, только дополнительно ECX = this

Неверно.

(Я не понимаю, что происходим с форумом и что здесь делает это замшелое сообщение, но на всякий случай отвечу).

Вызов тебе кажется "точно таким же" потому, что ты еще, скорее всего, мало видел этих вызовов. Советую тебе на досуге подумать над результатами, респечатываемыми вот такой программой

#include <iostream>

#ifdef _MSC_VER
#pragma pointers_to_members(full_generality, multiple_inheritance)
#endif

class A {};

int main()
{
  std::cout << sizeof(void (A::*)()) << std::endl;
  std::cout << sizeof(void (*)()) << std::endl;
}


О результатах своих раздумий сообщи нам.
Best regards,
Андрей Тарасевич
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.