我想要创建一个对象,我想保持超出范围,但设置对其字段的引用。这种方法有什么好处?我可以使用匿名lambdas来保存静态值吗?
A* a;
B* b;
[a, b]
{
static Loader loader("some", "argument", "the constructor", "takes");
a = loader.getA();
b = loader.getB();
}();
匿名lambda是否被其拥有的值破坏?是否有更好的设计模式来实现相同的目标?
好吧,这似乎是一个很好的方法。我的问题仍然是匿名lambda在解析时是否被破坏(以及它拥有的静态变量)。
[lambda函数对象中的静态变量如何工作?](https://stackoverflow.com/questions/8391058/how-do-static-variables-in-lambda-function-objects-work) – Shiro
@Shiro问题更多的是,匿名lambda是不是临时的? –
为什么你想保持它的范围?有什么问题? – Barry