1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
#include <string>
#include <utility>
int main()
{
std::string str;
std::size_t i = 0 ;
std::pair<std::string, size_t> data = std::make_pair<std::string&, size_t&>(str,i); // lvalue, lvalue
data = std::make_pair<std::string&, size_t>(str,0); // lvalue, rvalue
data = std::make_pair<std::string&, size_t&&>(str,0); // lvalue, rvalue
data = std::make_pair<std::string, size_t&>( std::move(str), i ); // rvalue, lvalue
data = std::make_pair<std::string&&, size_t&>( std::move(str), i ); // rvalue, lvalue
data = std::make_pair<std::string, size_t>("abcd", 5 ); // rvalue, rvalue
data = std::make_pair<std::string&&, size_t&&>("abcd", 5 ); // rvalue, rvalue
data = std::make_pair<std::string, size_t>( std::move(str), std::move(i) ); // rvalue, rvalue
}
| |