fork(6) download
#include <iostream>
#include <vector>
using namespace std;

struct TS{
    TS(){
    	cout<<"default constructor\n";
    }

    TS(const TS &other) {
        cout<<"Copy constructor\n";
    }

    TS(TS &&other) noexcept{
    	cout<<"Move constructor\n";
    }

    TS& operator=(TS const& other)
    {
        cout<<"Copy assigment\n";
        return *this;
    }

    TS& operator=(TS const&& other) noexcept
    {
        cout<<"Move assigment\n";
        return *this;
    }

    ~TS(){
        cout<<"destructor\n";
    }
	
};

int main() {
	TS ts1;
	TS ts2;
	cout<<"-----------------------------------------\n";
	std::vector<TS> vec {ts1, ts2};
	//vec.push_back(ts1);
	//vec = {ts1, ts2};
	cout<<"-----------------------------------------\n";
	
	
	
	return 0;
}
Success #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
default constructor
default constructor
-----------------------------------------
Copy constructor
Copy constructor
Copy constructor
Copy constructor
destructor
destructor
-----------------------------------------
destructor
destructor
destructor
destructor