Is it standard C++ to assign a member pointer to the address of another member in the constructor initializer?
Does this 开发者_JS百科conform to the standard?
class Foo {
Bar m_bar;
Bar * m_woo;
public:
Foo() : m_bar(42, 123), m_woo(&m_bar) { }
};
It is correct. What is not correct is dereferencing that pointer before that particular subobject has been fully initialized.
精彩评论