几个C++的小结

"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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容