У меня есть несколько на вопросах, касающихся динамического литья, TypeID() и шаблоныTypeId, динамическое литье (вентиляционное) и шаблоны
1) Каким образом TypeId не требует RTTI?
2) dynamic_cast на полиморфного типа:
Когда я потупив (Base для получения) с RTTI - компиляция проходит
Когда RTTI выключен - я получаю предупреждение (предупреждение C4541: ' dynamic_cast»используется на полиморфного типа„“CBase с/gr-; непредсказуемое поведение может привести)
- Когда я вентиляционный (Выведите на базу), с или без RTTI - компиляции проходит гладко
Я не понимаю, почему, когда я делаю upcast и RTTI выключен - у меня нет никаких предупреждений/ошибок!
3) dynamic_cast на NON полиморфного типа:
- Когда я подавленным или без RTTI - компиляция терпит неудачу (ошибка C2683: 'dynamic_cast': 'CBase' не полиморфный тип)
НО
- Когда я вентиляционный с или без RTTI - компиляция проходит гладко.
Каким образом происходит переход от NON полиморфного типа без RTTI?
4) Имеет ли «inline» перед функцией шаблона какой-либо эффект, т. Е. Когда компилятор компилирует эту функцию и видит, что она «встроена», она будет обрабатывать функцию как встроенную или она игнорируется?
Большое спасибо за помощь Дэвид