當您在類方法中聲明struct
時,該struct
的內存如何分配?例如:方法本地結構是否需要執行默認構造函數
void Foo::Bar(void)
{
struct timeval a;
a.tv_sec = 1;
a.tv_usec = 0;
...
}
是一個在棧上分配的像任何其他本地數據(int
,double
等),或者是所謂的默認構造函數和內存在堆上分配?
如果struct
初始化如下:struct timeval a = {0, 0};
?
試圖決定是將結構設置爲類成員還是將其作爲本地方法,因爲該方法經常被調用並且需要儘可能快。
該對象是一個實用程序結構,這就是爲什麼我想使它成爲本地。沒有「有」關係。不幸的是,這是一個嵌入式平臺,對於所有的意圖和目的,分析工具都不可用,所以我無法通過我的目標上的分析器來運行它。 – LordOphidian
@LordOphidian:它使它成爲一個本地結構。 –