Его время жизни - это продолжительность программы. И независимо от того, сколько раз вы пишете typeid(x)
, он будет каждый раз возвращать один и тот же объект type_info
для одного и того же типа.
То есть
T x, y;
const type_info & xinfo = typeid(x);
const type_info & yinfo = typeid(y);
Ссылки xinfo
и yinfo
обе ссылаются на один и тот же объект. Поэтому попробуйте напечатать адрес, чтобы проверить это:
cout << &xinfo << endl; //printing the address
cout << &yinfo << endl; //printing the address
Выход:
0x80489c0
0x80489c0
Примечание: для вашего прогона адрес может отличаться от указанного выше, но как бы то ни было, он будет таким же!
Демо: http://www.ideone.com/jO4CO