mq白

Results 67 comments of mq白

虽然但是,我觉得不使用 C 头文件名 是没问题的,这个兼容在我看来纯属是被迫。

> 除了类不变、派生类到基类、任意类到 void *、从 nullptr 转换,都算是“运行时检查”。 学到了🤣。 不过能详细聊一下嘛,以及 >“运行时检查”不一定是从基类到派生类,也可以是表面上没有继承关系的类 能举个例子嘛? @GeeLaw

> 如果 p 是空指针,*p 又没有被转换为右值 是指?

> [315. Is call of static member function through null pointer undefined?](https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#315) 可以。

> 就是指针指向对象的值没有被用到,就不算解引用 那这太夸张了,岂不是空指针访问非静态成员函数也不是 UB 了?

>```cpp >T* p = nullptr; >*p; >int* q = &(*p); >(*p).static_member(); >``` >这些情况都应是合法的。 这个我表示质疑。

https://eel.is/c++draft/expr.unary.op 一元 * 运算符执行间接操作其操作数应为“指向 T 的指针”类型的 prvalue,其中 T 是对象或函数类型运算符产生 TItype 的左值如果操作数指向对象或函数,则结果表示该对象或函数;否则,除非在 [expr.typeid] 中指定,否则行为是未定义的 > The unary * operator performs [indirection](https://eel.is/c++draft/expr.unary.op#def:indirection)[.](https://eel.is/c++draft/expr.unary.op#1.sentence-1) Its operand shall be a prvalue of type “pointer to...