는 내가이 코드를 한 경우 : 오브젝트 인스턴스가 사용하는 메모리 유형을 구별 할 수있는 방법이 있습니까?
#include <assert.h>
class Foo {
public:
bool is_static();
bool is_stack();
bool is_dynamic();
};
Foo a;
int main()
{
Foo b;
Foo* c = new Foo;
assert(a.is_static() && !a.is_stack() && !a.is_dynamic());
assert(!b.is_static() && b.is_stack() && !b.is_dynamic());
assert(!c->is_static() && !c->is_stack() && c->is_dynamic());
delete c;
}
그것을 위해 그렇게 할 is_stack
, is_static
, is_dynamic
방법을 구현할 수는 주장은
예 : 메모리의 계산 크기 ++ 고통을 시설, 표준 C를 사용하여 Foo 타입의 특정 객체가 스택에 사용하지만, 정적 또는 동적 메모리
+1 : 당신이 (거의) 올바른 용어를 사용했기 때문에. –