C++ Primer 5th笔记(chap 19 特殊工具与技术)typeid运算符
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(chap 19 特殊工具与技术)typeid运算符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. typeid運算符(typeid operator)
它允許程序向表達式提問:你的對象是什么類型?
typeid表達式的形式是typeid(e),其中e可以是任意表達式或類型的名字,它操作的結果是一個常量對象的引用。它可以作用于任意類型的表達式。
1.1 通常情況下,使用typeid比較兩條表達式的類型是否相同,或者比較一條表達式的類型是否與指定類型相同:
Derived *dp = new Derived; Base *bp = dp;if (typeid(*bp) == typeid(*dp)) {// bp和dp指向同一類型的對象 }if (typeid(*bp) == typeid(Derived)) {// bp實際指向Derived對象 }1.2 當typeid作用于指針時(而非指針所指向的對象),返回的結果是該指針的靜態編譯時類型
// 下面的檢查永遠是失敗的:bp的類型是指向Base的指針 if (typeid(bp) == typeid(Derived)) {// 永遠不會執行 } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的C++ Primer 5th笔记(chap 19 特殊工具与技术)typeid运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(cha
- 下一篇: s3c2440移植MQTT