1. 當兩個字串直接相加的時候,c#中通過建立中間臨時物件,最終建立乙個新的字串,其值就是兩個字串的連線。
例如:在c#中,string str = 「a" + "example" ;在c++,也是同樣道理,字串的相加操作。
2.當字串和整型或者布林型別相加。在c#中,我們知道每種型別就繼承自object,而object都預設實現了tostring()方法,這樣當我麼執行乙個字串和乙個整型,或者其他非字串型別的加法時,編譯器會自動呼叫該物件的tostring()方法,將其轉換為字串,然後執行兩個字串的加法。
但在c++中,當你直接把字串和整型相加的時候,並不是上述結果。
例子:cout<<"test" + 3《你們認為結果是什麼呢?哈哈,肯定會令你吃驚。其實這個語句執行的是指標操作,相當於 headpointer + 3;這樣的話,結果就是「t」。當數字過大而超越字串的長度,這時候字串就為空了。其實這個很簡單,只是我們平時並沒有注意。
希望這個對大家以後有所幫助。
談c 和 c 關於字串和其它型別的相加操作
大家都比較熟悉字串相加操作,一般有這麼幾種情況 1.當兩個字串直接相加的時候,c 中通過建立中間臨時物件,最終建立乙個新的字串,其值就是兩個字串的連線。例如 在c 中,string str a example 在c 也是同樣道理,字串的相加操作。2.當字串和整型或者布林型別相加。在c 中,我們知道每...
C 轉換型別和字串
有時候我們需要互轉型別和字串,把字串轉型別 把型別轉字串。如果是基礎型別,可以使用 x.parse 這個方法,很多基礎型別都支援。那麼我們可以使用 typedescriptor string value 123 var typedescriptor typedescriptor.getconvert...
C字串和C 字串
在c中,並沒有字串這個資料型別,而是使用字元陣列來儲存字串。c字串實際上就是乙個以null 0 字元結尾的字元陣列,null字元表示字串的結束。需要注意的是 只有以null字元結尾的字元陣列才是c字串,否則只是一般的c字元陣列。c字串定義時可以利用 號進行初始化,但是以後不能利用 對c字串進行賦值。...