這很可能是一個非常愚蠢的問題,但在C++中,字符串的數據類型是什麼?我想讓變量x =「Slim Shady」。字符串的數據類型是什麼?
我會聲明x爲int嗎?我試圖將它聲明爲char,但是當我關閉變量時,它只會給出第一個字母。任何幫助,將不勝感激。
這很可能是一個非常愚蠢的問題,但在C++中,字符串的數據類型是什麼?我想讓變量x =「Slim Shady」。字符串的數據類型是什麼?
我會聲明x爲int嗎?我試圖將它聲明爲char,但是當我關閉變量時,它只會給出第一個字母。任何幫助,將不勝感激。
你只是說:
std::string x = "Slim Shady";
你需要包含頭文件字符串
#include <string>
然後,你將能夠使用的std :: string
std::string x="Slim Shady"
http://en.cppreference.com/w/cpp/string/basic_string
你也不能使用std ::字符串,如果你不想使用它們雖然它們是你最好的選擇
可以使用字符陣列或字符指針(C-字符串)
char x[]="Slim Shady";
或
char* x="Slim Shady";
自動關鍵字是一個C++ 0X特徵。您應該遠離它,直到您學習C++基礎知識
「Slim Shady」是常量字面值char[11]
,可轉換爲const char*
。您也可以將其用於任何字符數組比11.看大的初始化:
char a[] = "Slim Shady";
char a[11] = "Slim Shady";
const char* a = "Slim Shady";
char a[12] = "Slim Shady";
看到這個小碼:
#include <typeinfo>
#include <iostream>
template <class T>
void printTypeName(T t)
{
std::cout << typeid(T).name() << std::endl;
}
int main() {
printTypeName("Slim Shady");
printTypeName<decltype("Slim Shady")>("Slim Shady");
}
你得到(海合會)mangled名稱:
PKc
A11_c
從我所知道的 - 第一個是const char*
第二個是char[11]
。這很容易解釋,因爲當傳遞任何數組到函數 - 它被轉換爲const指針。
當然這是在教程中介紹的..某處? (不,一個字符串更肯定*不是*整數。) – 2012-09-16 23:15:29
'std :: string'就是你使用的。 – squiguy
你如何在你的代碼中使用它? std :: string x?另外,如果你說使用命名空間標準,你可以只說字符串x? – masonc15