Сообщение Re[4]: Безопасно ли присваивать один указатель другому?.. от 26.03.2018 13:56
Изменено 26.03.2018 14:03 AlexGin
Re[4]: Безопасно ли присваивать один указатель другому?..
Здравствуйте, SaZ, Вы писали:
SaZ>Честно прочитал все ссылки. Что-либо по моему вопросу будет? Интересует, например, чему должен быть равен sizeof указателя на метод?
sizeof указателя на метод — такой же, как sizeof(int*);
В общем — sizeof такой же, как у всех других указателей в приложениях данной архитектуры (то есть 4 байта для x86 и 8 байт для x 64).
P.S. Вот ещё раз даю ту же самую полезную ссылочку:
https://www.codeguru.com/cpp/cpp/article.php/c17401/C-Tutorial-PointertoMember-Function.htm
более толкового описания по данной теме — я не видел.
SaZ>Честно прочитал все ссылки. Что-либо по моему вопросу будет? Интересует, например, чему должен быть равен sizeof указателя на метод?
sizeof указателя на метод — такой же, как sizeof(int*);
В общем — sizeof такой же, как у всех других указателей в приложениях данной архитектуры (то есть 4 байта для x86 и 8 байт для x 64).
class Foo
{
public:
int f(string str)
{
std::cout << "Foo::f()" << std::endl;
return 1;
}
};
int main()
{
int (Foo::*fptr) (string) = &Foo::f;
std::cout << "sizeof-fptr=" << sizeof(fptr) << std::endl;
...
return 0;
}
P.S. Вот ещё раз даю ту же самую полезную ссылочку:
https://www.codeguru.com/cpp/cpp/article.php/c17401/C-Tutorial-PointertoMember-Function.htm
более толкового описания по данной теме — я не видел.
Re[4]: Безопасно ли присваивать один указатель другому?..
Здравствуйте, SaZ, Вы писали:
SaZ>Честно прочитал все ссылки. Что-либо по моему вопросу будет?
Вроде выше, в моём ответе, было именно по твоему вопросу (по поводу void*).
SaZ>Интересует, например, чему должен быть равен sizeof указателя на метод?
sizeof указателя на метод — такой же, как sizeof(int*);
В общем — sizeof такой же, как у всех других указателей в приложениях данной архитектуры (то есть 4 байта для x86; 8 байт для x64).
P.S. Вот ещё раз даю ту же самую полезную ссылочку:
https://www.codeguru.com/cpp/cpp/article.php/c17401/C-Tutorial-PointertoMember-Function.htm
более толкового описания по данной теме — я не видел.
SaZ>Честно прочитал все ссылки. Что-либо по моему вопросу будет?
Вроде выше, в моём ответе, было именно по твоему вопросу (по поводу void*).
SaZ>Интересует, например, чему должен быть равен sizeof указателя на метод?
sizeof указателя на метод — такой же, как sizeof(int*);
В общем — sizeof такой же, как у всех других указателей в приложениях данной архитектуры (то есть 4 байта для x86; 8 байт для x64).
class Foo
{
public:
int f(string str)
{
std::cout << "Foo::f()" << std::endl;
return 1;
}
};
int main()
{
int (Foo::*fptr) (string) = &Foo::f;
std::cout << "sizeof-fptr=" << sizeof(fptr) << std::endl;
...
return 0;
}
P.S. Вот ещё раз даю ту же самую полезную ссылочку:
https://www.codeguru.com/cpp/cpp/article.php/c17401/C-Tutorial-PointertoMember-Function.htm
более толкового описания по данной теме — я не видел.