所以有两件事我不确定。
如果我这样做:
void sendToDifferentThread(SomeClass &&obj);
...
{
SomeClass object;
sendToDifferentThread(std::move(object));
}
会发生什么?如果在堆栈上创建了object
,那怎么可能只有SomeClass object;
doSomethingOnSameThread(std::move(object));
的副本,因为当我们离开封闭范围时,堆栈上的所有内容都被销毁了?
如果我这样做:
object
如果我在当前范围内执行frame = new JFrame(title);
frame.setSize(width, height);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(true);
frame.setVisible(true);
canvas = new Canvas();
canvas.setSize(width, height);
canvas.setMinimumSize(new Dimension(width, height));
canvas.setMaximumSize(new Dimension(width, height));
canvas.setFocusable(false);
frame.add(canvas);
之后会发生什么?它被移走了#34;对于其他一些功能,当前的功能也是如此,以及#34;失去"以某种方式拥有它?