我try 在try块中使用一个类成员作为资源(因为该资源需要在try块之后调用Close()):
class Manager {
MyResource m_myResource;
...
void doTraining() {
m_myResource = createMyResource();
try(m_myResource) {
...
}
}
}
但会有人抱怨说,m_myResource
分不是最终有效的.为什么?我觉得m_myResource
在初始化后是不变的.无论如何,我不确定如何解决这个问题.我能想到的一种方法是:
class Manager {
MyResource m_myResource;
...
void doTraining() {
MyResource newResource = createMyResource();
m_myResource = newResource;
try(m_myResource) {
...
}
}
}
但我不确定将本地资源分配给班级成员是否会产生问题?