1樓:Sunchy321
在某些比較極端的情況下,沒有什麼辦法驗證某個表示式是不是某個型別。
例如,我現在也沒用想出什麼辦法確定""的型別(它是char const[1]的左值)。
typeid會decay,decltype得到的是引用。。
但是如果不考慮這些特殊情況,可以得到乙個比較簡單的解決方案:
#include
auto x = ...;
static_assert(std::is_same::value, "");
2樓:LzxHahaha
typeid 運算子
好吧我比較瞎沒注意,直接用typeid是沒法獲得const和reference資訊,要判斷是不是const的話可以用std::is_const,比如
const
intcval=0
;std
::cout
< boolalpha < is_const (cval )>:: value ;reference同理,換成std::is_reference就好,所以判斷的話大概可以寫成這樣,我自己試了一下應該是沒問題的(逃,如果有錯請指出…… 「std::is_」開頭的還有好多亂七八糟的東西,題主慢慢研究吧……template _Tp> std:: string GetName (_Tpt) intmain() 甄爍華 你知道貝塞斯達嗎?就是做輻射系列和上古卷軸的那個遊戲公司。他裡面專門有乙個招的職位就是C工程師。之前還嘗試過STM8標準下的C語言開發 英文直翻不知道這樣稱呼是否準確 做乙個能自動包裝的機器。這個project現在還在做。做下來的感覺就是在操控硬體 顯示全部 阿爾伯特 編譯器內部是如何處理這... vs2019 Visual Studio 2019 權威指南 C語言 軟體工程開發的方向 技巧要領 嗶哩嗶哩 乾杯 bilibili 不跟隨 你是想說用gcc編譯沒問題,用vs編譯出問題了吧,這是因為Windows和linux兩套編譯器對c標準支援的不一樣,你想要vs的編輯器想用gcc編譯,可以考慮... p的值被load到某個暫存器r,然後add r,4 就可以了。這裡4已經被編譯器用sizeof array item type 給換成立即數了。所以你說的什麼p 和 1,實際上沒什麼區別。如果有人要拿這個來說快慢,恕我直言,也許是因為他還不夠了解底層的cpu是如何執行指令的這乙個層面。 這個很簡單,...編譯器內部是如何處理 C 語言 typedef 關鍵字的?
如何為VS2017配置C語言的編譯器?
C語言編譯器是如何實現指標 1這樣的乙個機制?