美文网首页
std::move与std::vector问题记录

std::move与std::vector问题记录

作者: Kai_Z | 来源:发表于2018-08-22 15:33 被阅读21次

简介

该文章用于记录学习中遇到的部分问题,可能不包含具体答案,会根据后续学习进行持续更新

class Bashful {
public:
    Bashful() {
        std::cout << "Bashful constructor" <<std::endl;
    }
    Bashful(const Bashful& bash) {
        std::cout << "Bashful copy constructor" << std::endl;
    }
    Bashful& operator=(const Bashful& bash) {
        std::cout << "Bashful assignment constructor" << std::endl;
        return *this;
    }
    Bashful(Bashful&& bash) {
        std::cout << "Bashful move constructor" << std::endl;
    }
    Bashful& operator=(Bashful&& v) {
        std::cout << "Bashful assignment operator" << std::endl;
    }
    ~Bashful() {
        std::cout << "Bashful destructor" << std::endl;
    }
};
int main(int argc, char** argv)
{
    std::vector<Bashful> s;
    s.push_back(Bashful());
    Bashful bashful;
    s.push_back(bashful);
    return 0;
}

输出值

Bashful constructor
Bashful move constructor
Bashful destructor
Bashful constructor
Bashful copy constructor // why
Bashful copy constructor // why
Bashful destructor // why
Bashful destructor // desturctor for bashful
Bashful destructor // destructor for s[1]
Bashful destructor // destructor for s[0]

相关文章

  • std::move与std::vector问题记录

    简介 该文章用于记录学习中遇到的部分问题,可能不包含具体答案,会根据后续学习进行持续更新 输出值

  • Tips of C++11 std::move与完美转发std:

    C++11 std::move 和 std::forward 用法: 当知道类型时, 用 std::move得到一...

  • [C++]string 切割

    std::vector split(std::string str, std::string pattern){...

  • 2021-12-01 opencv findContours a

    std::vector contours; std::vector hi...

  • std::move()

    在隆冬,我终于直到,我身上有一个不可战胜的夏天。 ——阿尔贝·加缪 今天提交了一次代码,短短一百多行里,被各...

  • std::move

    std::move函数可以以非常简单的方式将左值引用转换为右值引用。通过std::move,可以避免不必要的拷贝操...

  • std::move

    首先需要了解一下c++的值的类型 c++ 值的类型 1. lvalue(左值) 2. prvalue(纯右值) 3...

  • std::move

    班级类包含一个构造方法,传入一个包含许多学生的vector: 这样有个不好的地方是:每次创建班级对象时都需要将st...

  • [Geekband]第六周学习笔记

    1、容器 vector容器的初始化有一下几个函数 std::vector v; std::vector v(n);...

  • Geekband-job3.1

    1、容器 vector容器的初始化有一下几个函数 std::vector v; std::vector v(...

网友评论

      本文标题:std::move与std::vector问题记录

      本文链接:https://www.haomeiwen.com/subject/mmlyiftx.html