C++ 字符運算操作符

2023-03-20 15:46 更新

有趣的是,在整數(shù)上使用的數(shù)學(xué)運算同樣可以被用在字符上,例如

char letter;
letter = 'a' + 1;
cout << letter << endl;

輸出字母b。盡管對字符使用乘法在語法上是合法的,但這幾乎從來都不會用到。

前面我說過你只能給整型變量賦整數(shù)值,給字符變量賦字符值,但這并不完全正確。在某些情況下,C++對類型進(jìn)行了自動轉(zhuǎn)換,例如,以下寫法是合法的:

int number;
number = 'a';
cout << number << endl;

結(jié)果是97,C++中使用這一數(shù)字表示字母'a'。然而,把字符當(dāng)做字符處理,把數(shù)字當(dāng)做數(shù)字處理通常是一個好主意,除非有一個很好的理由,才把一種類型轉(zhuǎn)換成另一種類型。

自動類型轉(zhuǎn)換是在設(shè)計一種編程語言時存在的共同問題的一個例子,它和形式體系有沖突,形式體系要求形式語言,應(yīng)該具備無例外的簡單規(guī)則,然而便利性要求編程語言易用于實踐。

大部分時候,便利性會勝出,這對于高手程序員通常是好事,他們擺脫了嚴(yán)格而笨拙的形式體系。但對于菜鳥程序員來說并非好事,復(fù)雜的規(guī)則以及大量的例外會使他們陷入困惑。在這本書中,我試圖通過強調(diào)規(guī)則并忽略大多例外來簡化學(xué)習(xí)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號