腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
搜索
关闭
文章
问答
(858)
视频
开发者手册
清单
用户
专栏
沙龙
全部问答
原创问答
Stack Exchange问答
更多筛选
回答情况:
全部
有回答
回答已采纳
提问时间:
不限
一周内
一月内
三月内
一年内
问题标签:
未找到与 相关的标签
筛选
重置
2
回答
const值与
RVO
假设我有这个功能:inline A f() A const r(/* a very complex and expensive construction */); }
浏览 6
修改于2019-09-03
得票数 4
回答已采纳
1
回答
GCC NRVO/
RVO
警告
是否有任何警告可以让我们知道NRVO/
RVO
在GCC中是否执行过?我对编译时特性特别感兴趣。如果有一些特定的#pragma GCC...
浏览 14
修改于2014-12-21
得票数 21
1
回答
(N)
RVO
完整示例
我一直在阅读关于(N)
RVO
的文章,我想要一个完整的场景描述。我希望这个问题能帮助其他C++ -learners澄清他们的观点。如果不执行(N)
RVO
,将执行多少个构造函数/赋值/析构函数?(请指出他们指的对象是什么) 如果应用(N)
RVO
,会发生什么变化?
浏览 1
修改于2013-01-26
得票数 6
回答已采纳
2
回答
std:移动和
RVO
优化
我已经假定这是因为返回值优化(
RVO
),这意味着编译器已经移动了我的返回值,对吗? 因此,我运行新的测试,没有任何优化,以确保我是正确的。这是否意味着即使禁用了优化,编译器也可以应用
RVO
,还是std::move没有我想象的那么快?
浏览 8
修改于2020-06-20
得票数 5
回答已采纳
2
回答
Lambda表达式和
RVO
“返回值优化”的概念是否适用于C++编译器中的lambda表达式?我知道这取决于编译器和优化参数,但理论上可行吗?
浏览 3
提问于2015-10-19
得票数 1
回答已采纳
2
回答
为什么std::move会阻止
RVO
?
在许多情况下,当从一个函数返回一个local时,
RVO
就起作用了。然而,我认为显式使用std::move至少会在
RVO
没有发生时强制移动,但
RVO
仍然会在可能的情况下应用。然而,情况似乎并非如此。实际上,这些编译器看起来一切正常,但据我所知,
RVO
是可选的。我的问题是: std::move为什么要阻止
RVO
?什么时候“抱最好的希望”并依赖
RVO
更好,什么时候应该显式使用std::move?或者,换句话说,如果没有应用
RVO
,我如何让编译器优化完成它的工作,同时仍然强制
浏览 5
修改于2013-10-10
得票数 60
回答已采纳
1
回答
RVO
和move构造函数
是因为
RVO
/ NRVO吗?如果是,谁能解释一下在哪种情况下会发生
RVO
/NRVO?
浏览 0
修改于2020-12-21
得票数 0
2
回答
RVO
失败时的力编译错误
这里有很多关于什么时候可以做
RVO
的讨论,但是关于什么时候实际做的讨论不多。如前所述,
RVO
不能按照标准得到保证,但是是否有一种方法可以保证
RVO
优化成功或者相应的代码无法编译?到目前为止,当
RVO
失败时,我部分地成功地使代码发出链接错误。为此,我声明副本构造函数,而不定义它们。这就引出了我的第二个问题:当用户定义的复制构造函数到位时,为什么编译器编写器选择启用
RVO
? 第三个问题:是否有其他方法为普通数据结构启用
RVO
?当然,选项--no-elide-constructors按它说的做
浏览 3
修改于2017-11-05
得票数 9
回答已采纳
5
回答
命名
RVO
的可能性?
vector<char> GetData() std::vector<char> result; return result;那么,
RVO
浏览 0
修改于2010-10-12
得票数 3
回答已采纳
2
回答
为什么“部分
RVO
”没有执行?
first) else} 我理解,因为不清楚在编译期间将返回哪个对象,所以不能总是执行返回值优化(
RVO
但是,在50%的情况下(假设true/false由于缺乏进一步的信息而统一分布)可能会执行
RVO
:只需决定应该对哪种情况执行
RVO
(first==true或first==false),并将其应用于此参数是否存在使上述情况下的“部分
RVO
”无效的东西,还是所有编译器都不可能错过优化的情况?
浏览 0
修改于2019-05-29
得票数 6
回答已采纳
2
回答
为什么C++不对std::可选执行
RVO
?
我想知道为什么C++在返回T时不对std::optional<T>执行
RVO
。move ctor called}在中,我了解到get_bar不符合“强制复制/移动操作”的要求。在对象的初始化中,当初始化器表达式是与变量类型相同的类类型(忽略cv限定)的prv
浏览 13
修改于2022-11-16
得票数 1
回答已采纳
2
回答
如何确保执行
RVO
而不是复制?
我了解到unique_ptr/shared_ptr可以用于工厂模式(例如,)我仍然在学习
浏览 23
修改于2020-03-05
得票数 5
2
回答
RVO
是否适用于这种情况?
假设我们有这种情况{}
RVO
在这里申请吗?我认为答案是否定的,因为应用
RVO
的规则之一是:“如果函数按值返回类类型,而返回语句的表达式是具有自动存储持续时间的非易失性对象的名称(该对象不是函数参数,或者一个catch子句参数),而具有与函数的返回类型相同的类型(忽略顶级cv-资格),则省略复制/移动”,在这种情况下,返回的对象与函数的返回类型不同,但我不是100%认为
RVO
不适用于
浏览 0
修改于2016-12-03
得票数 7
回答已采纳
1
回答
C++如何处理
RVO
和NRVO?
对于编译器和链接器如何处理函数的调用er的需求取决于函数是使用
RVO
还是NRVO这一事实,我感到困惑。
浏览 1
修改于2018-02-24
得票数 9
回答已采纳
4
回答
RVO
对对象成员有效吗?
= std::make_pair(A{}, 2); return p.first;p.first是复制、移动还是
RVO
-ed
浏览 5
修改于2015-10-28
得票数 16
回答已采纳
2
回答
是否有方法检查是否应用了
RVO
?
我有一个关于我沮丧的旅程的故事,我发现我从一个函数返回的无序地图实际上并不是
RVO
,尽管我确信它是在早期的时候,它是无关的。 有没有一种方法来检查
RVO
是否发生在任何给定的函数中?
浏览 0
提问于2016-03-02
得票数 13
回答已采纳
2
回答
最终函数依赖于
RVO
我想这对于Stroustrup在测试它时是有效的,因为返回值优化将Final_action<>限制在一个实例中--但是
RVO
不是一个可选的优化吗?
浏览 0
修改于2018-04-03
得票数 9
回答已采纳
1
回答
C++:
RVO
、NRVO和返回本地对象
我刚刚读到了
RVO
(返回值优化)和NRVO (名为返回值优化)。下面是两个例子Bar Foo() return Bar();Bar Foo() Bar bar;else} 我不明白,这个例子和
RVO
浏览 2
提问于2014-12-31
得票数 1
回答已采纳
2
回答
为什么g++在这里不启用
RVO
?
Klass a)" << endl;} {}g++ -O3
rvo
.cpp-o
rvo
$ ./
rvo
create(Klass a)create()**. i期望编译器使用
RVO
机制,以避免复制函数的返回值和参数,从而避免对每个复制
浏览 2
修改于2012-02-15
得票数 1
回答已采纳
4
回答
RVO
应该在什么时候生效?
从下面的代码中,如果发生了
RVO
,我希望看到两个地址指向相同的位置,但事实并非如此(我的编译器是MS VC9.0)#include <string> std::cout << s << std::endl;}
RVO
浏览 0
修改于2010-07-17
得票数 8
第 2 页
第 3 页
第 4 页
第 5 页
第 6 页
第 7 页
第 8 页
第 9 页
第 10 页
第 11 页
点击加载更多
领券