我遇到了一些代码。在构造之后,作者将指针转换为void类型。这条线的目的是什么?它是否像assert( m_some_class_ptr != 0)
一样检查指针的完整性?
Some_class * m_some_class_ptr = new Some_class();
(void)m_some_class_ptr;
谢谢。
答案 0 :(得分:1)
转换为void是一种常见的习惯用法,可以避免编译器警告变量未被使用。如果初始化是m_some_class_ptr的唯一用途,那么很可能会收到警告。所以你想添加第二次使用变量,但没有做任何事情。
(无效)m_some_class_ptr;什么也没做。它计算表达式m_some_class_ptr并抛出结果。