C++ 에서 멤버 함수랑 멤버변수에 직접 접근하는거랑 많이 다를까요?
글쓴이: kid1402 / 작성시간: 목, 2013/06/13 - 12:23오후
예를들어
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 상에서 최적화가 다르게 들어간다거나 하는
Forums:
댓글 달기