I는 다음의 클래스를 가질 경우는 차이
class A
{
public:
A(int val) : m_valA(val) {}
private:
int m_valA;
};
class B : public A
{
public:
B(int val) : A(0), m_valB(val) {}
private:
int m_valB;
};
B* pb = new B;
I는 A *를 취하는 함수, 예 않았다면 :
void func(A* pVal) {}
을 pb가이 함수에 전달되면 저수준 메모리 레이아웃 측면에서 pval (함수에서)과 pb 포인터의 차이점은 무엇입니까?
포인터가 개체의 시작을 가리 키지 않습니까? 어떤 경우에 두 포인터가 다른가?
다른 조상이나 가상 함수를 잊어 버리지 않은 경우 .. 비 변이 클래스의 단일 상속을 위해 포인터는 동일하지만 (보증되지는 않지만) – user396672