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