rvalue 相关问题

rvalue是临时对象(或子对象),或者是与对象不直接关联的值。

可变参数模板和RValue引用

考虑下面的C ++代码模板 void f(const int x,const int y,Args && ... args){//做点事}据我了解,这里的Args可能是左值...

回答 2 投票 1

无序映射的左值到右值转换

从外部库接收参数:候选函数不可行:没有已知的从'std :: unordered_map '到'std :: unordered_map &... 的转换>

回答 1 投票 1

C ++-在右值引用前放置与号(&)是什么意思?

因此,我找到了Matrix类的赋值运算符函数的以下代码示例:Matrix &Matrix :: operator =(Matrix && M){

回答 1 投票 0

在RValue对象上调用LValue ref限定成员函数

我试图弄清楚为什么以下代码段调用LValue强制转换运算符重载:#include class Foo {public:Foo(int i = 0):i(i){}运算符const int&().. 。

回答 1 投票 2

r值类型是否总是与C中的l值类型匹配?

我通过以下代码出现了一些古怪的行为:uint64_t my_64; my_64 =‭4294967295‬+‭4294967295‬;我希望my_64的结果为‭8589934590‬,但是,我得到了...

回答 2 投票 0

有提供左值和右值重载的同时删除重复代码的方法吗?

学习C ++时,我决定编写一个简单的模板化二进制搜索树(bst),并遇到以下问题:我希望能够通过向bst传递一个像const T&...这样的左值来构造bst。

回答 1 投票 1

在这种情况下为什么将此指针视为右值?

以下内容将不起作用:std :: array arr = {1,2,3}; int ** ptr =&(arr.data());因为我要尝试使用右值的地址。我已经解决了:std :: array&...

回答 2 投票 0

为什么这些代码仍然使用左值函数?

这些天,我目前正在研究C ++的左值和右值。我在下面的代码中有些困惑。类Test {public:Test(){}显式Test(int _i):i(_i){} void doSomething()&{...

回答 1 投票 0

我如何在使用右值作为对象的同时适当地调用复制构造函数?

[这里,我尝试使用push_back函数和该对象的右值将一个对象推入向量。查看#include“ Movies.h”下面的Movies类的addMovie()函数。Movies :: ...

回答 1 投票 1

c ++为什么在移动构造函数中需要向前/向后移动

用移动的构造函数构造对象后,新对象应“窃取”“源”对象的资源,然后将其保留为不确定(但有效)状态。例如:#...

回答 1 投票 0

为什么枚举变量在这里是右值?

示例:typedef枚举颜色{红,绿,蓝}颜色; void func(unsigned int&num){num ++; } int main(){颜色clr =红色; func(clr);返回0; }我得到了...

回答 2 投票 6

为什么枚举变量在这里是右值?

我在下面编写示例代码:typedef枚举颜色{红色,绿色,蓝色}颜色; void func(unsigned int&num){num ++; } int main(){颜色clr =红色; func(clr);返回0; ...

回答 1 投票 0


指向右值对象成员变量的指针

这是一个非常快速的问题,我有以下代码:struct integer {int x; int&ref(){return x; }; // main ... int * l =&integer {4} .ref(); std :: cout << * l; ...

回答 1 投票 3

为什么在std :: move函数之后对象仍然存在?

我对std :: move函数有疑问。请参考以下代码:#include #include 使用命名空间std;类CPointer {public:CPointer(double a,...

回答 1 投票 0

为什么std :: move函数之后对象仍然存在

我对std :: move函数有疑问。请参考以下代码:#include #include 使用命名空间std;类CPointer {public:CPointer(double a,...

回答 1 投票 0

为什么字符串不显示作为左操作数的错误左值?

在下面的代码片段中,为什么行2 + 3 = 5语句给出错误,但是分配给字符串连接的下一条语句成功编译? #include int main(){...

回答 2 投票 3

收益和收益如何彼此不同?

我经常遇到此术语,因为该函数产生某些东西或该函数返回某些东西。我试图理解这一点,并阅读了python中的几篇文章。然后我遇到了同样的...

回答 2 投票 0

yield and return,它们之间有何不同

我经常遇到此术语,因为该函数产生某些东西或该函数返回某些东西。我试图理解这一点,并阅读了python中的几篇文章。然后我遇到了同样的...

回答 1 投票 0

将左值引用分配给左值会发生什么?

我有一个简单的示例:void Message :: move_Folders(Message * m){m_folders = std :: move(m-> m_folders);对于(auto f:m_folders){f-> removeMessage(m); f-> addMessage(...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.