C++ 에서 멤버 함수랑 멤버변수에 직접 접근하는거랑 많이 다를까요?

kid1402의 이미지

예를들어

class MyPool
{
public :
    boost::pool<> MemoryPool;
 
    ... 
};

위와 같은 Pool을 래퍼한 클래스가 있고 이 풀 객체의 멤버 변수인 MemoryPool::malloc() 함수를 이용해서 메모리를 쓰려고 할 때

1) 멤버 함수를 만들어서 접근하는 것.. 즉

void *Malloc()
{
    return MemoryPool.malloc();
}
...
 
DataStructure *newData = (DataStructure*)(MyPool.Malloc());

2) 멤버 변수에 직접 접근한 뒤 해당 변수의 함수를 호출하는 것... 즉

DataStructure *newData = (DataStructure*)(MyPool.MemoryPool.malloc());

이 두 가지 방법이 실제 동작하는데 차이가 있을 까요?
어셈블리 코드 단에서 뭔가 해준다거나.. 혹은 VS 상에서 최적화가 다르게 들어간다거나 하는