腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(7142)
视频
沙龙
3
回答
如
何在
C++14
中
保留
左
值
引用
的
同时
衰减
右
值
引用
类型
?
c++
、
lambda
、
c++14
、
boost-optional
我有以下
C++14
lambda https://godbolt.org/z/aexxTY #include <boost/optional.hpp> auto fooi = 10; foo(10); } 首先请注意,boost::optional可以包含
左
值
引用
,但不能包含
右
<e
浏览 12
提问于2021-02-09
得票数 2
回答已采纳
2
回答
在完美转发
中
需要
衰减
c++
、
perfect-forwarding
为什么这不是有效
的
代码?在我看来,funkb和funka
的
结果参数
类型
是相同
的
。 提前感谢
浏览 0
提问于2018-08-27
得票数 3
2
回答
移动语义std::move
c++
、
c++11
、
move-semantics
有人能给我一个简单
的
解释吗?
浏览 0
提问于2011-04-03
得票数 12
回答已采纳
1
回答
有没有可能在没有
类型
推断
的
情况下实现类似转发
引用
的
行为?
c++
、
c++11
、
language-lawyer
、
rvalue-reference
、
perfect-forwarding
最近,我了解了通用(或转发)
引用
。它们只适用于
类型
推导,
如
模板或auto / decltype。 当我使用
左
值
引用
(&)时,我不能将它绑定到
右
值
(临时)对象。当我使用一个
右
值
引用
(&&)时,我不能将它绑定到
左
值
对象。转发
引用
可以与非常数
左
值
和
右
值</e
浏览 1
提问于2017-01-17
得票数 4
回答已采纳
3
回答
函数返回
值
是否是自动对象,从而保证会被析构?
c++
、
exception-handling
、
return
、
return-value
、
language-lawyer
在except.ctor
中
,标准()保证: 对于自输入try块以来构造
的
所有自动对象,都将调用 ...destructors ...然而,在下面的示例
中
,空
的
证明函数foo
的
返回
值
并没有被析构,尽管它已经被构造了。使用g++ (5.2.1)和clang++ (3.6.2-1)以及选项-O0 -fno-elide-constructors -std=
c++14
编译。在stmt.return、expr.call或dcl.fct
中
,我都找不到函数返回
浏览 54
提问于2016-01-08
得票数 57
回答已采纳
2
回答
不带
类型
推导
的
LValue和Rvalue
的
C++
引用
c++
、
c++11
、
reference
、
rvalue-reference
、
lvalue
我正在读一个关于左
值
/
右
值
引用
的
很好
的
教程。如果我没理解错的话,当有
类型
推导
的
时候,像T&&这样
的
东西可以
同时
接受
左
值
和
右
值
。 但是,有没有办法在没有泛型类
的
情况下实现这一点呢?我希望避免重复接受
左
值
和
右
值
的
所有方
浏览 1
提问于2015-01-01
得票数 0
2
回答
为什么
引用
不会发生C++数组
衰减
?
c++
、
c++11
我读了一篇关于C++
的
文章,发现当我们通过
引用
传递数组时,不会发生数组到普通非常数指针
的
转换(技术上称为decay)。这种限制背后有什么原因吗?我知道在C99
中
有三种基本情况会发生数组
衰减
,即:当它是sizeof运算符
的
参数时。当它是字符N+1
类型
的
字符串文字或用于初始化数组
的
wchar_t
类型
的
宽字符串文字时,<
浏览 2
提问于2015-10-23
得票数 0
3
回答
C++
中
引用
的
引用
c++
我偶尔会在StackOverflow上看到一些代码,询问一些涉及如下函数
的
重载歧义:我
的
问题是:为什么会出现这种情况?或者更确切地说,你什么时候会有“对
引用
的
引用
”?这与普通
的
旧
引用
有什么不同?我从来没有在现实世界
的
代码
中
遇到过这种情况,所以我很好奇什么样
的
代码会需要它。
浏览 0
提问于2011-04-08
得票数 61
回答已采纳
4
回答
将函数对象作为
左
值
和/或
右
值
传递
的
C++
c++
、
templates
、
function-object
我有一个类,它应该根据用户提供
的
谓词过滤其内容。给我
的
接口规定了对谓词
的
引用
: class Test {public: void filter(PREDTYPE如果我将测试代码更改为 int main() { Filter filter;} 它是有效
的
,但这取决于最终用户,我无法控制他们
的</em
浏览 45
提问于2018-07-05
得票数 4
回答已采纳
1
回答
为什么`std::istream_iterator`没有
右
值
构造函数?
c++
、
c++11
、
iterator
、
rvalue-reference
std::istream_iterator不能将流作为
右
值
接收有什么特别的原因吗?file)), my_it(),} 为什么在经历了三次标准更新(C++11、
C+
+14和C++17)之后,几乎所有其他
类型
的
迭代器都有
右
值
构造函数,而这种迭代器却没有
右
值
构造函数呢?你可以争辩说,由
浏览 4
提问于2016-10-31
得票数 3
4
回答
std::move和std::forward有什么区别
c++
、
c++11
、
perfect-forwarding
我在这里看到了这个: 和之间
的
区别,最好是一些代码示例?如何轻松地考虑它,以及何时使用
浏览 140
提问于2012-03-13
得票数 177
回答已采纳
3
回答
std::forward与std::move
的
用法
c++
、
c++11
、
move
、
forward
image = image; _image = std::move(image);这是两个基本相同
的
函数;一个接受l
值
引用
,另一个接受r
值
引用
。现在,我认为既然std::forward应该返回一个l
值
引用
,如果参数是l
值
引用
,则返回一个r
值
引用
,如果参数是1,则此代码可以简化为如下所
浏览 4
提问于2015-03-03
得票数 76
回答已采纳
3
回答
std::move模板参数是如何推导出来
的
?
c++
、
templates
、
c++11
假设我们有:如果你这样做了foo(a);template<class T> typename remove_reference<T>::type&& std::move(T&& a);std::move(a); a不是一个
浏览 0
提问于2013-01-26
得票数 9
回答已采纳
2
回答
Rvalue
引用
失去其本质
c++
return 0;因为我可以将prvalue绑定到rvalue
引用
,所以我认为我也可以传递它。为什么上面的方法失败了?
浏览 2
提问于2015-04-24
得票数 0
1
回答
在所需
的
抽象基
引用
不起作用
的
情况下传递临时创建派生对象?
c++
、
constructor
、
reference
我想有一些关于临时对象
的
东西我不理解。class F { C getC() { return C(); };public:}; 这是可行
的
:
浏览 0
提问于2012-06-12
得票数 0
回答已采纳
1
回答
C++
中
容器
的
解密
类型
、通用
引用
和转发
c++
、
templates
、
pass-by-reference
、
decltype
、
forwarding-reference
我正在阅读Scott Meyer
的
书《effective modern C++》
中
关于decltype和rvalue
的
参考资料。makeStringDeque() { return dqContainer;现在,在main函数
中
,::cout << "Value returned by container and 5th element after copying: " <
浏览 4
提问于2019-04-03
得票数 0
1
回答
为什么我不能在构造ifstream时传递它?
c++
、
ifstream
如果主程序编写为 ifstream f(argv[1]);} 有没有办法让紧凑
的
first
浏览 2
提问于2013-05-18
得票数 3
回答已采纳
2
回答
如何存储通用
引用
c++
、
templates
、
c++11
、
perfect-forwarding
、
universal-reference
我需要在一个类
中
存储通用
引用
(我确信被
引用
的
值
会比这个类更持久)。有没有规范
的
方法来做到这一点呢? bind(f, j)(); // X&& is const int& bind(f, 3)(); // X&
浏览 2
提问于2013-02-08
得票数 8
回答已采纳
2
回答
返回常量
引用
和
右
值
引用
的
区别
c++
、
c++11
、
rvalue-reference
如果我没有错,我认为常量
引用
和
右
值
引用
都可以绑定到
右
值
。返回前者
的
函数和返回后者
的
函数有什么实际区别吗? 编辑。我不能修改前者,但为什么我会对修改
右
值
感兴趣?这有意义吗?
浏览 3
提问于2013-03-28
得票数 7
回答已采纳
1
回答
main()中下面的'i‘
类型
。为什么它是一个int&?
c++
、
c++11
、
decltype
我知道下面main()
中
的
i
类型
是一个int&。这就是为什么它必须初始化
的
原因。int& f(){ static int i = 1; return i; } {} 但是使用标准
中
的
段落5p5,我得出结论,当删除
引用
时,表达式f()具有int
类型
。在7.1.6.2p4
中
,既然从函数返回中删除了
引用
,怎么能说表达式f()是一
浏览 3
提问于2013-05-27
得票数 6
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
c+的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)
《Effective Modern C+》笔记之类型推断
C+11完美转发及实现方法详解
C+之右值引用
请问C+11有哪些新特性?
热门
标签
更多标签
活动推荐
运营活动
广告
关闭
领券