为了账号安全,请及时绑定邮箱和手机立即绑定

在C ++中__FILE __,_ _ _ _ _ _

在C ++中__FILE __,_ _ _ _ _ _

C++
慕哥9229398 2019-09-19 10:48:15
假设您的C ++编译器支持它们,是否有任何特殊原因不使用__FILE__,__LINE__以及__FUNCTION__用于记录和调试目的?我主要关心的是给用户误导数据 - 例如,由于优化而报告错误的行号或功能 - 或者因此导致性能损失。基本上,我可以信任__FILE__,__LINE__并__FUNCTION__以永远做正确的事?
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

__FUNCTION__是非标准的,__func__存在于C99 / C ++ 11中。其他人(__LINE__和__FILE__)就好了。


它将始终报告正确的文件和行(如果您选择使用__FUNCTION__/,则为函数__func__)。优化是一个非因素,因为它是一个编译时宏扩展; 它绝不会以任何方式影响性能。


查看完整回答
反对 回复 2019-09-19
  • 3 回答
  • 0 关注
  • 456 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信