Pointers 为什么要把指针扔进虚空

Pointers 为什么要把指针扔进虚空,pointers,Pointers,我遇到了一些代码。在构造之后,作者将指针转换为void类型。这条路线的目的是什么?检查指针的完整性是否像assert(m\u some\u class\u ptr!=0) Some_class * m_some_class_ptr = new Some_class(); (void)m_some_class_ptr; 多谢各位 强制转换为空是一种常见的习惯用法,可以避免编译器警告未使用变量。如果初始化是m_some_class_ptr的唯一用途,您很可能会收到警告。因此,您希望添加变量的第二

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

Some_class * m_some_class_ptr = new Some_class();

(void)m_some_class_ptr;

多谢各位

强制转换为空是一种常见的习惯用法,可以避免编译器警告未使用变量。如果初始化是m_some_class_ptr的唯一用途,您很可能会收到警告。因此,您希望添加变量的第二个用法,但不做任何操作


(无效)某些类别的ptr;什么也不做。它对表达式m_some_class_ptr求值并将结果丢弃。

如果没有看到更多代码,就无法确定,但通常这样做是为了摆脱编译器发出的“变量集但未使用”警告。你知道吗,我认为你是对的。这些指针都是全局变量(我知道是邪恶的),它们不在上下文中使用。