在查看一些我没有写的旧代码时,我注意到了这样的事情(简化)
//switch case on a msg received from a queue,...
//... get_function returns msgtype and ptr
switch(msgtype)
//...
default:
{
MYLOGGER<< "Unknown message" << (*ptr)->some_member_var <<"\r\n";
}
所以我想尝试将其更改为
default:
{
MYLOGGER<< "Unknown message...\r\n";
MYLOGGER<< "..." << (*ptr)->some_member_var << "\r\n";
}
因为万一 ptr 是垃圾,我害怕在记录开始之前崩溃?我在这个例子中是正确的吗?通常,在记录错误时应该避免取消引用。
编辑:关于 MYLOGGER,它是一个以这个结尾的宏:具有重载运算符 << 的记录器类在 dtror 中执行 ostream flush(),因此不需要 endl。