"new (p) T()"的用法
從p指向的空間中分配T類型的空間仑性。
如:
int *p=new int[3];
char *c=new (p) char;//從p指向的空間中分配出一個(gè)char類型的空間給c
這樣就從p指向的空間中分配出一個(gè)char類型的空間給c。
"operator T(){ }"的用法
類型轉(zhuǎn)換運(yùn)算符重載。當(dāng)類型被隱式或顯示轉(zhuǎn)換時(shí)會(huì)被調(diào)用昨悼。
如:
class A{
template<typename T>
operator T(){
return static_cast<T>(-1);
}
}
int main(){
A test;
int i=test;//test對(duì)象類型轉(zhuǎn)換為int蝗锥,會(huì)調(diào)用operator T()
cout<<i<<endl;
}
此時(shí)i的值為-1.