几个C++的小结

2017-11-01  本文已影响3人  王一百

"new (p) T()"的用法

从p指向的空间中分配T类型的空间。
如:

      int *p=new int[3];
      char *c=new (p) char;//从p指向的空间中分配出一个char类型的空间给c

这样就从p指向的空间中分配出一个char类型的空间给c。

"operator T(){ }"的用法

类型转换运算符重载。当类型被隐式或显示转换时会被调用。
如:

class A{
     template<typename T>
      operator T(){
              return static_cast<T>(-1);
      }
}
int main(){
      A test;
      int i=test;//test对象类型转换为int,会调用operator T()
      cout<<i<<endl;
}

此时i的值为-1.

上一篇下一篇

猜你喜欢

热点阅读