小编Ant*_*ton的帖子

对移动构造函数的误解

我有这样的课程,我在其中创建了一个move constructor

class Test
{
private:
    int m_a;

public:
    Test(int val) { m_a = val; }

    Test (const Test &) {}
    
    // move constructor
    Test (Test && d)
    {
        std::cout << &m_a << std::endl;   // Line X
        std::cout << &d.m_a << std::endl;
    }

    void print()
    {
        std::cout << m_a << std::endl;
    }
};
Run Code Online (Sandbox Code Playgroud)

我还创建了一个函数来测试move constructor

void fun(Test a)
{ return ; }
Run Code Online (Sandbox Code Playgroud)

比在main函数中我创建上面类的 2 个对象并调用函数来测试move constructor

int main()
{
    Test a {50};
    Test b {100}; …
Run Code Online (Sandbox Code Playgroud)

c++ constructor class move

0
推荐指数
1
解决办法
65
查看次数

标签 统计

c++ ×1

class ×1

constructor ×1

move ×1