xvalue

    13热度

    1回答

    我试图理解C++ 11中的左值和右值。所以我写了一个测试代码: int x = 10; int foo() { return x; } int& bar() { return x; } int&& baz() { return 10; } int main() { int& lr1 = 10; // error: lvalue references rvalue i

    0热度

    3回答

    按下面的代码应调用Test类的移动构造函数,因为该功能是由价值回归我的理解,这意味着表达GetTestObj()应该是右值和xvalues都隐含移动,但为什么这个代码是调用拷贝构造函数? class Test { public: Test() { } Test(const Test& arg) { std::co

    1热度

    2回答

    继这个问题的良好接受的答案Do rvalue references allow dangling references?似乎xvalues分配到右值参考左值,如问题中似乎没有延长他们的生命周期。然而,当我为此 #include <iostream> using namespace std; class Something { public: Something() {

    2热度

    2回答

    decltype(1 + 2)是否声明一个xvalue或/或prvalue? cppreference说,decltype(表情)将宣布: 1中。T & &如果表达式是x值 2.■如果表达式是prvalue 把t &如果表达式是左值 但我的问题是:如何生成一个表达式是一个xvalue?我想,返回值和临时对象应该是x值,但实际上他们似乎是x值,在我的实验: struct S{}; S f();

    1热度

    2回答

    我对这个问题的广度遗憾,它只是所有这些细节都紧紧地相互连接.. 我一直在试图了解具体两者之间的区别价值类别 - xvalues和prvalues,但我仍然感到困惑。 具有同一性(这使得x值不同从prvalue)在以下问题上SO讨论的特性: Is it correct to say that xvalues have identity and are movable? 首先,接受的答案引用§5/用于

    0热度

    1回答

    我需要比较插值函数的最大偏差与函数f(x)=exp(x)的真实值。我不知道如何找到发生这种情况的x值,因为我使用x=np.linspace()来绘制插值和真实函数。 我的任务是先给出以下值x=[0,1,2]与f(x)=exp(x)线性内插,然后再与x=[0,0.5,1,1.5,2]。(我做了) x_1=np.linspace(0,1,num=20) x_2=np.linspace(1,2,num

    4热度

    1回答

    我读了xvalue的标准。它与rvalue reference表达密切相关。但是在编程时,我确实找不到需要xvalue的场景。 例如:函数myClass&& f()返回一个rvalue reference。所以表达式f()是xvalue。但这有用吗?我如何在编程中使用这种技术? 如果定义了另一个功能myClass g(),那么g()和f()之间的区别是什么? 在什么情况下我应该使用f() and

    0热度

    1回答

    我使用MSChart 2008创建了一个折线图。我在x轴上有日期,在y轴上有双值。现在我需要在今天的日期上找到Y值(这将是我的x值)..任何人都可以帮助我实现这一目标。 感谢

    3热度

    1回答

    比方说,m是非参考类型的非静态数据成员(T)。根据cppreference,std::move(a).m是一个prvalue,直到C++ 11。我猜它应该是C++ 11之后的一个xvalue。如果我错了,请纠正我。 但decltype(std::move(a).m)仍然在C T(未T&&)++ 14(Visual Studio中,铛,GCC),这表明std::move(a).m仍然是一个prval

    4热度

    1回答

    我在这里讲述了一个长期的背景故事,因为除了直接的答案之外,我想知道我的推理是否导致这种情况是正确的。 我有一个函数采取dynamic_bitset<>参数(从Boost.dynamic_bitset)。 说它看起来像这样。 void foo(boost::dynamic_bitset<> db) { // do stuff } 恰巧,它只会被调用与临时工,从构造建成,为foo(bo