메모리 사용량 - 예상대로 메모리 사용량을 감소하지 않았다 뜨는 이중 변환
template<class T>
struct node
{
//some functions
private:
T m_data_1;
T m_data_2;
T m_data_3;
node* m_parent_1;
node* m_parent_2;
node* m_child;
}
템플릿의 목적은 사용자를 활성화하는 것입니다있는 클래스의 수백만을 초기화하고
float
또는 double
정밀도를 선택하려면 node<float>
을 사용하면 메모리 (RAM)가 적어집니다.
그러나 double
에서 float
으로 전환하면 예상대로 내 프로그램의 메모리 사용 공간이 줄어들지 않습니다. 나는
- 이 가능 컴파일러/운영 체제 내 수레에 필요한 (또는 더블로 저장)보다 더 많은 공간을 확보 있다는 두 가지 질문을해야합니다. 그렇다면, 어떻게 이런 일을 멈추게합니까? 64 비트 머신에서 리눅스를 g ++로 사용하고 있습니다.
모든 다른 클래스에서 사용되는 메모리 양을 결정할 수있는 도구가 있습니까? (즉, 일종의 메모리 프로파일 링) - 내가 생각하지 않은 다른 곳으로 메모리가 겹쳐지지 않도록하기 위해.
sizeof 노드를 사용하십시오. 따라서 노드 크기는이고 노드 크기는 입니다. –
QuentinUK