c++基本类型c++string与c风格字符串的相互转化
**********************************************************
c++基本類型: char <= short <= int(float,long) <= double(long long, long double)
? ? ? ? ? ? ? ? ? ? ? ? 1 ? ? ? ? ? ?2 ? ? ? ? ? ? ? ? ?4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8
***********************************************************
??基礎(chǔ)類型分為三個(gè)類別:整數(shù)、浮點(diǎn)和 void。 整數(shù)類型能夠處理整數(shù)。 浮點(diǎn)類型能夠指定可具有小數(shù)部分的值。
void?類型描述了值的空集。void?類型的變量無法指定 - 它主要用于聲明不返回值的函數(shù)或用于聲明指向非類型化或任意類型化數(shù)據(jù)的一般指針。 任何表達(dá)式都可以顯示或強(qiáng)制轉(zhuǎn)換為類型?void。?
C++ 語(yǔ)言的基礎(chǔ)類型
| 整數(shù) | char | 類型?char?是通常包含基本執(zhí)行字符集成員的整數(shù)類型 - 默認(rèn)情況下,這是 Microsoft C++ 中的 ASCII。 C++ 編譯器將?char、signed?char?和?unsigned?char?類型的變量視為不同類型。char?類型的變量將提升到?int,就像它們?cè)谀J(rèn)情況下是?signed?char?類型一樣,除非使用 /J 編譯選項(xiàng)。 在這種情況下,它們被視為?unsigned?char?類型并提升為?int(沒有符號(hào)擴(kuò)展)。 |
| ? | bool | bool?類型是可以具有?true?或?false?這兩個(gè)值之一的整數(shù)類型。 其大小未指定。 |
| ? | short | short?int?類型(或?short)是大于或等于?char?類型的大小但小于或等于?int?類型的大小的整型類型。 ?short?類型的對(duì)象可聲明為?signed?short?或?unsigned short。Signed short?是?short?的同義詞。 |
| ? | int | int?類型是大于或等于?short?int?類型的大小但小于或等于?long?類型的大小的整數(shù)類型。 ?int?類型的對(duì)象可聲明為?signed?int?或?unsigned?int。Signed?int?是?int?的同義詞。 |
| ? | __int8,__int16,__int32,__int64,__int128 | 固定大小的整數(shù)?__int``n,其中?n?是整數(shù)變量的大小(以比特為單位)。 (__int8、__int16、__int32、__int64?和?__int128?是 Microsoft 專用的關(guān)鍵字。 并非所有類型在所有體系結(jié)構(gòu)上都可用。) |
| ? | long | long?類型(或?long?int)是大于或等于?int?類型的大小的整數(shù)類型。 ?long?類型的對(duì)象可聲明為?signed?long?或?unsigned?long。Signed?long?是?long?的同義詞。 |
| ? | long?long | 大于無符號(hào)?long。 ?long long?類型的對(duì)象可聲明為?signed?long long?或?unsigned?long long。Signed?long long?是?long long?的同義詞。 |
| ? | wchar_t,__wchar_t | wchar_t?類型的變量指定寬字符或多字節(jié)字符類型。 默認(rèn)情況下,wchar_t?是本機(jī)類型,但可以使用?/Zc: wchar_t-?使?wchar_t?成為?unsigned short?的 typedef。__wchar_t?類型是本機(jī)?wchar_t?類型的 Microsoft 專用同義詞。 在字符或字符串文本前使用 L 前綴可指定寬字符類型。 |
| 浮點(diǎn) | float | float?類型是最小的浮點(diǎn)類型。 |
| ? | double | double?類型是大于或等于?float?類型的大小但小于或等于?long?double?類型的大小的浮點(diǎn)類型。 Microsoft 專用:long double?和?double?的表示形式完全相同。 但是,long double?和?double?是不同的類型。 |
| ? | long double | long?double?類型是大于或等于?double?類型的浮點(diǎn)類型。 |
基礎(chǔ)類型的大小
| bool,?char,?unsigned char,?signed char,?__int8 | 1 個(gè)字節(jié) |
| __int16,?short,?unsigned short,?wchar_t,?__wchar_t | 2 個(gè)字節(jié) |
| float,?__int32,?int,?unsigned int,?long,?unsigned long | 4 個(gè)字節(jié) |
| double,?__int64,?long double,?long long | 8 個(gè)字節(jié) |
| __int128 | 16 個(gè)字節(jié) |
**************************************
c++string與c風(fēng)格字符串的相互轉(zhuǎn)化
**************************************
string---->c風(fēng)格字符串:
string str = "Hello World";
const char *str = str.c_str();
?
c風(fēng)格字符串------->string
char* str = "Hello World"; // char str[] = "Hello World";
string s(str);//string s = str;
轉(zhuǎn)載于:https://www.cnblogs.com/lp3318/p/5974985.html
總結(jié)
以上是生活随笔為你收集整理的c++基本类型c++string与c风格字符串的相互转化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LINQ中ForEach方法的使用
- 下一篇: 记录下UIButton的图文妙用和子控件