對於一個簡單的C++程序。類對象的成員函數的內存分配
#include <iostream>
#include <string>
using namespace std;
class Student
{
float gpa;
public:
void read()
{
cin>>gpa;
}
void display()
{
cout<<"STUDENT GPA : "<<GPA<<endl;
}
};
void main()
{
Student s1;
}
對於對象s1,必須在主存儲器中分配4個字節。但是,當選中時,分配的內存略高於4個字節,因爲成員函數,構造函數和析構函數會分配一些內存。如何計算所有函數的大小,並且是否可以通過減少這些額外分配來優化代碼。
你的意思是's1'的大小高於'float'的大小?你是怎麼檢查的?每個函數都需要一些空間,但是這些空間與's1'分開。函數的大小是生成的機器碼的大小。這些不能超越編譯器的優化。 – freakish