Кроме того, нет необходимости в std::launder, потому что все, что я делаю, это приведение из char и обратно, а также в Base - Derived и обратно, верно?
Я попробовал два разных способа получить указатель на производный класс из базового указателя. Один из них: [code]struct BaseClass { protected: int offset_of_derived; public: template T* getAs() { return (T*)((char*)this + offset_of_derived); } protected: char* getBasePtr() { return (char*)this; } };
}; [/code] Кроме того, нет необходимости в std::launder, потому что все, что я делаю, это приведение из char и обратно, а также в Base - Derived и обратно, верно?
Я попробовал два разных способа получить указатель на производный класс из базового указателя. Первое:
struct BaseClass {
protected:
int offset_of_derived;
public:
template
T* getAs() { return (T*)((char*)this + offset_of_derived); }
protected:...
Я попробовал два разных способа получить указатель на производный класс из базового указателя. Первое:
struct BaseClass {
protected:
int offset_of_derived;
public:
template
T* getAs() { return (T*)((char*)this + offset_of_derived); }
protected:...
У меня есть два проекта/сборки в решении .NET Core.
Проект A содержит базовый класс FooBase
Проект B содержит производный класс под названием FooDerived, а также множество других классов, к которым я хочу получить доступ через отражение
Я...