創建100+ newObjs時,什麼是快:初始化列表Vs的靜態常量初始化
//initialization list
struct struct_Obj {
...tonsOfVars
struct_Obj() : tonsOfVars(init) {}
}
或者:
//static const already constructed, call the copy constructor(?)
static const struct_Obj defaultStruct_Obj = { tonsOfVars(init) };
struct_Obj newObj = defaultStruct_Obj
TonsOfVars將意味着多個不同的變量(從POD到結構/班)
我會假設靜態常量,因爲它調用複製構造函數(意思是1 op?)vs調用初始化列表中的每個初始化器?
雖然對此的常見回答是「描述它」,即使這樣做也不會給我一個解釋爲什麼它更快。
如果我不得不冒險猜測,假設tonsOfVars是原語,並且您的初始化程序將使用const值進行初始化,那麼我會說默認的構造函數會更快。 – Kindread