如果我通过使用创建临时对象class-type-name(parameters).member
并假定构造函数已完成,我可以访问对象的成员吗?
考虑以下示例:
struct A
{
enum status
{ ERROR = -1, SUCCESS } state;
A (int a)
: state(a > 0 ? SUCCESS : ERROR)
{
// do some stuff here
// may change state
}
};
int main (void)
{
// Is this guaranteed to work?
A::status S(A(5).state);
}
我访问后是否需要立即完成 A 的构造函数state
?