0
A
回答
3
name
不是指針,名稱是std::string
對象。 &name
,其中是的指針,是該對象的地址。
7
name
不是指針,它是std::string
本身。所以&name
是該字符串的地址,這意味着該代碼將打印出一個數字。
即使它是一個指針,在其上使用operator &
也是合法的:它會返回指針變量在內存中的地址(另一個不同的數字)。
如果你想有一個指針內name
的第一個字符,然後用name.c_str()
獲得C風格空結尾的字符串(實際上是一個指向字符串的第一個字符),或name.data()
它返回一個指針到字符串,但不能保證它將以null結尾。
0
嗨string類有c_str()方法。 使用const char* ptr = name.c_str();
2
name
不是指針,它是std::string
類型的對象。&name
爲您提供該對象的地址。- 要獲取指向字符串第一個字符的(const-)指針,請使用
name.c_str()
。 指針也有地址!
void allocate_string(std::string **foo) { *foo = new std::string(); }
相關問題
- 1. 指針的第一個字符
- 2. 指向字符數組的第一個字符的指針?
- 3. 結構名稱是指向第一個元素的指針嗎?
- 4. 字符串值是一個int指針的名稱
- 5. C函數大寫指針字符串的第一個字符
- 6. 爲第一個指針指向的對象分配第二個指針
- 7. 獲取* uint8指針指向字符串中的第一個字符
- 8. 是一個常量字符指針,指向一個常量字符或指向字符的常量指針嗎?
- 9. 如何使用第一個字符作爲部分名稱
- 10. 可以有兩個指針指向同一個字符串嗎?
- 11. 我可以使用字符串變量中的名稱創建一個指向對象的指針嗎?
- 12. 指定一個字符串值指針
- 13. 指向結構或類的指針與指向第一個字段的指針
- 14. 一個字符串指針的副本
- 15. Reverse在cstring中查找指向第n個字符的指針
- 16. 獲取指針字符指針的地址字符指針
- 17. c中的指針(如何指向字符串中的第一個字符,指針指向同一字符串中的其他位置)
- 18. PHP字符串替換第一個字母名字的第一個名字
- 19. Fortran指針錯誤:「名稱中的字符無效」
- 20. C指針,指針,字符
- 21. 什麼是字符串轉換爲字符數組/值,一個字符指針可以指向
- 22. 將一個字符串從一個指針複製到另一個指針
- 23. 複製一個字符一個struct指針字符
- 24. 用較低的第一個字符替換方法名稱
- 25. 在C.數組的名稱是它的第一個元素的指針,不是嗎?
- 26. 指向矢量第一個字節的指針<float>
- 27. C++指向類名稱的指針
- 28. 字符指針爲字符串
- 29. 字符指針轉換爲字符串
- 30. 創建一個函數指針,它將一個函數指針作爲參數
另外:
,如果你想一個指針傳遞到具有(通過分配內存的實例)以操縱指針的函數,這是有用試圖改變Ç風格的字符串將導致未定義的行爲(C++ 03 21.3.6/2&17.4.3.8) – 2011-04-06 11:59:05