有谁知道是否可以在任何符合 C++ 的编译器(Visual Studios、g++ 等)上启用任何类型的日志记录,以便我可以发现何时创建临时对象?
例如:
假设我有一个函数f(char x)
,但我称之为f(46)
我会在日志中看到——
temporary char created promoting int @ function param f(46)
(或类似的东西)
我已通读 VS 编译器开关选项,看来这不是一个选项。
我知道在新标准中有一个rvalue reference
(&&) 的概念,可用于检测大多数临时移动语义,但这涉及添加新代码/兼容编译器。
那么这可以做到吗?或者这是编译器的特权知识?