临时对象创建
Temporary object creation
有人知道是否有可能在任何C 上启用任何形式的登录兼容的编译器(Visual Studios,G 等),以便我可以发现何时创建临时对象?
例如:
假设我有一个函数f(char x)
,但我用f(46)
我会在日志中看到 -
temporary char created promoting int @ function param f(46)
(或类似的东西)
我已经阅读了VS编译器开关选项,看来这不是一个选项。
我知道,在新标准中,rvalue reference
(&&)的概念可用于检测大多数临时语义语义的临时性,但这涉及添加新的代码/兼容的编译器。
那可以做到吗?还是对编译器的特权知识?
IDE中更有用的是内联注释(因为我假设您想通过最小化这些温度来优化?)。在实践中,最简单的方法是修改GCC或G ,并使他们与Visual Studio插件或其他内容进行交谈。他们可以用寄存器分配和所有内容进行注释。哇,这实际上真的很有帮助。
除非这样的努力,但我不知道,最好的方法就是学会阅读大会。在Visual Studio中,您可以将编译的组件与超级有用的源显示内联。
相关文章:
- 为什么当我们有常量引用时创建临时对象?
- 为什么在按值返回时创建临时对象,而不是在按值传递给函数参数时创建临时对象
- 我试图创建临时对象的方式有错误吗
- 将项添加到矢量而不创建临时对象
- 在此初始化中创建的临时对象数
- 在没有返回值优化的情况下将两个对象加在一起时,将创建多少个临时对象
- C++:如何创建一个临时对象,包含一个指针 - 常量或非常量,具体取决于上下文
- 按值函数创建范围的临时对象
- 从函数返回引用是否会导致在使用'auto'时创建新的临时对象?
- C++17:是编译器为(静态存储持续时间)const引用绑定创建的可修改的临时对象(和存储)
- 是否在对象中创建临时接口
- Visual Studio 在类型转换时不会创建临时对象
- 通过引用捕获异常时未创建临时对象
- 返回临时对象是否会在C++中创建临时对象
- 在引用初始化期间如何创建临时对象
- 创建c++临时对象
- 我可以直接调用operator()而不创建临时对象吗?
- 在复制构造函数中创建临时对象
- c++优先级队列推送/模板,而不创建临时对象
- 构造函数 c++ Object obj = Object( "string" , 22);正在创建临时对象?