为什么将指针转换为void

时间:2014-03-19 23:27:03

标签: pointers

我遇到了一些代码。在构造之后,作者将指针转换为void类型。这条线的目的是什么?它是否像assert( m_some_class_ptr != 0)一样检查指针的完整性?

Some_class * m_some_class_ptr = new Some_class();

(void)m_some_class_ptr;

谢谢。

1 个答案:

答案 0 :(得分:1)

转换为void是一种常见的习惯用法,可以避免编译器警告变量未被使用。如果初始化是m_some_class_ptr的唯一用途,那么很可能会收到警告。所以你想添加第二次使用变量,但没有做任何事情。

(无效)m_some_class_ptr;什么也没做。它计算表达式m_some_class_ptr并抛出结果。