我真的很困惑,因爲我個人,我來自java背景,最近開始C++。所以,我學會了所有基本的東西,比如把東西印到屏幕上,然後現在我學到了指針。因此,YouTube上的人(The Cherno's C++ Pointer tutorial這不是他聲明const char *的視頻,只是我遵循的指針教程。)我一直在使用以下語句來聲明我所知道的「字符串」 。const char *不只是一個字符?
const char* str = "random text here";
但是,如何將char *轉換爲字符串,甚至使用雙引號就像字符串!另外,常數與這些有什麼關係?如果我從我的代碼中刪除const
,它會給我一個錯誤。但是,我明白指針是什麼。它是一個變量,用於保存另一個變量的內存地址,所以如果要直接訪問該變量,他們只需要執行*ptrVarName
並對其進行解除引用。但字符串"like this one"
如何成爲內存地址? 我不需要這樣做嗎?
char[] str = "string here";
然後執行:
char* stringPointer = *str;
(警告:未經測試的代碼!)提前
感謝。 (噢,對不起,如果這是一個非常NOOBY問題或問題是製作粗糙的,我剛開始用C++和計算器)
編輯:好了,我明白了char* str
的意思。這意味着當你參考*str
時,這意味着你正在訪問內存中的第一個字符。好的,我現在明白了。但是,const是什麼意思?
聽起來像你可以使用[良好的C++書](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。您可以從隨機在線教程中獲得更完整的教育。 – NathanOliver
如果您使用C++,爲什麼不使用'std :: string'? – RPGillespie
事實上,從'T *',我們不知道是否有一個或幾個對象。 – Jarod42