Typedef reinterpret_cast

时间:2010-07-23 02:54:49

标签: c++ casting typedef

我在查找typedef reinterpret_cast的语法时遇到了一些麻烦。 有人可以帮忙吗?

修改

我想做什么。我总是犹豫不决,因为人们似乎总是陷入其他所有事情,除了问题实际上是什么,因为你可以看到我的上一篇文章导致一大堆什么都没有。

我试图想出一种为指针分配mem地址0的方法。我使用它作为安全捕获等。我认为typedef cast会对此有所帮助。请不要建议我使用NULL。

由于

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

你的意思是?

sometype *foobar = 0;

使用空值分配指针是您必须在C / C ++中手动执行的操作。如果您正在寻找一种方法将auto-init设置为null,请查看指针包装类,如autoptr或smartptr类。

答案 2 :(得分:0)

reinterpret_cast不是类型,因此您无法typedef它。您可以将其打包在template中,但是:

template<typename T> T* improved_null()
{
    return reinterpret_cast<T*>(0);
}

int* foo = improved_null<int>();

在这种情况下你实际上并不需要reinterpret_cast(如果需要,函数的返回值被强制转换为正确的类型):

template<typename T> T* improved_null() { return 0 }

当然,如果您想要改进NULL,可以考虑nullptr