推送到STL堆栈是通过引用传递,但堆栈是否复制了值?

Xav*_*ier 1 c++ stack stl

在线查看文档我发现它是通过引用传递的.有人可以确认堆栈实际上是复制数据吗?

Nic*_*las 7

是的,它会复制您提供的元素.在C++ 11中,如果你给它一个临时或std::move它,它也可以移动它.

请注意,emplace在给定构造函数参数的情况下,C++ 11还提供了直接构造值的值.

  • 添加了参考链接,希望你不介意. (2认同)