Если код вошел в область и определил новый объект с тем же именем, что и внешний объект, будет ли правильно определен вновь определенный объект?
Как показано в следующем коде:
class ClassB
{
ClassA* p;
ClassB(ClassA* a)
{
p = NULL;
if (a != NULL)
p = a;
}
};
ClassA x;
if (some condition)
{
ClassB x(x);
// Will x->p be NULL or it will be pointer a?
}
В области if x-> здесь NULL или?
Я вижу в gcc, это будет NULL. Но в VS2015 это кажется.
Итак, мой вопрос в том, что стандарт говорит об этой части. Большое спасибо.