IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    operator new:void*到T*的转换

    查利鹏发表于 2017-05-22 18:03:33
    love 0

    在C++14标准(C++98/11也一样)中,在Annex C Compatibility里有这么一条:

    Change: Converting void* to a pointer-to-object type requires casting

    1
    2
    3
    4
    5
    char a[10];
    void* b=a;
    void foo() {
    char* c=b;
    }

    ISO C will accept this usage of pointer to void being assigned to a pointer to object type. C ++ will not.

    但是为什么operator new()会返回void*且不用显式转换为T*就能赋值给T*呢?



沪ICP备19023445号-2号
友情链接