因此,一旦std::pair初始化了至少一个引用变量,例如像这样:
int a = 53;
int b = 42;
std::pair<int, int&> foo(33, a);
Run Code Online (Sandbox Code Playgroud)
有没有办法改变引用变量的指向?
任务:
foo = std::make_pair(33, std::ref(b));
Run Code Online (Sandbox Code Playgroud)
和交换:
std::pair<int, int&> bar(33, b);
foo.swap(bar);
Run Code Online (Sandbox Code Playgroud)
似乎只是将新内容移动到a并留下foo指向它之前 ( a)位置的第二个成员,因此没有做我在这里试图实现的目标。我知道引用不能像这里回答的那样反弹
,但这不是我在这里想要做的。我想要做的是制作一对新的并将其内容分配给现有的,这在技术上不是一回事。
提前致谢!
c++ ×1