1樓:北極
標準中定義的只有:
\a \b \f \n \r \t \v \\ \' \" \? \nnn \xhh
這些轉義字元對應的ASCII碼可以參考這裡:Escape sequences in C
其餘的都是未定義的行為。
\?確實是0x3F,等同於「?」,但不是說所有以"\"開頭的轉義字元的ASCII碼值都等於後面的那個字元的ASCII碼值。
甚至,在不同的編譯器上,未定義的行為獲得的結果都是不一樣的。
比如'\e'在VS2008裡是101,在GCC裡是27.
規範裡的說法:
Each of these escape sequences shall produce a unique implementation-defined value which can be stored in a single char object. The external representations in a text file need not be identical to the internal representations, and are outside the scope of this International Standard.
不要去追究規範沒有定義的內容。
鍵盤鍵值的制定依據什麼?不只是 ASCII 碼的對映那麼簡單吧?
rlei 而97 122在鍵盤上就不是對應ASCII中的碼值了 具體是指什麼意思?你說的是掃瞄碼 Scan code 嗎?鍵盤的掃瞄碼本身就不和ASCII對應,而且出於硬體製造的便利按鍵位物理排列來編號的 1 例如ASDF是1E,1F,20,21 2 補充 你所說的應該是所謂的 Virtual Ke...
常量字串是右值,為什麼沒有呼叫相應的右值過載函式?
冒泡 誰告訴你字串常量不是左值啦,明明就是左值。字串常量的型別是const char N N是長度 含末尾 0 陣列嘛,const左值 現行標準下,兩種寫法是等效的。但是VS2010發布於2010年,右值引用的語義在那之後又有發展。VS2010支援的右值引用語義對應的是v2.0 N2844 這個提案...
字串生成的hash碼的碰撞率是多少?
dgon 雜湊256演算法的結果是256位的二進位製碼。2的256次方約等於1.158 10 77。用億來說也要說9次,這是個宇宙級別的數了好吧。就是說結果有這麼這麼多的可能,為什麼樓主會認為這很容易出現碰撞的?呃,難道是只準備擷取結果的前幾位來當識別碼?這也很好算啊,算下2的多少次方就知道大概有多...