объекты.
дал, что этот код напечатает «То же 1»а также «Same2», но печатает только «Same1»:
#include <iostream>
#include <typeinfo>
using namespace std;
struct C{virtual ~C(){}};
struct D : C{};
int main(){
D d;
C c, &cr1 = d;
if(typeid(cr1) == typeid(D)) cout << "Same1";
if(typeid(&cr1) == typeid(D*)) cout << "Same2";
}
Как §5.2.8 / 2, так и §5.3.1 / 3, мне кажется, предлагают напечатать «Same2».
Что и где подвох?