我有一個需要const char **的opengl函數。所以基本上是一個字符串向量。我想知道是否可以使用C++標準庫來完成,而不需要製作需要堆分配的向量const char*
。用std ::做一個char **?
回答
如果你想避免堆分配:
const char* arrayOfStrings[] = {
"first string",
"second string",
"third string"
};
你也可以使用arrayOfStrings
爲const char**
。
如果你有const char*
個矢量你可以得到的第一個元素的地址來獲得const char**
:
&vec[0];
但是,你是什麼意思時,你說:「使用[C++標準庫] 「?你說你想「不使用矢量const char*
」來使用[C++標準庫]。這沒有什麼意義。
你不需要這個標準庫,請澄清你的問題,如果我的答案是不夠的。
@Tomalak我沒有得到你的
@Seth:[STL是*不是* C++標準庫。](http://stackoverflow.com/questions/5205491/whats-this-stl-vs-c - 標準庫 - 全部關於/ 5205571#5205571) – 2011-05-29 23:49:19
- 1. 「str2Int(std :: basic_string <char,std :: char_traits <char>,std :: allocator <char>> const&)」,引用自:
- 2. 「std :: string + char」表達式是否創建另一個std :: string?
- 3. 將std :: string.assign(const char *)或op =(with const char *)創建一個char *的副本?
- 4. 將一個std :: string放入一個char [] []數組
- 5. 未定義的引用`librarymanager :: getBook(std :: basic_string <char,std :: char_traits <char>,std :: allocator <char>>)
- 6. std :: cin >> char
- 7. 如何做一個std ::地圖查找
- 8. 哪一個使用const char []或const std :: string?
- 9. 製作的std :: string出++一個char *用C
- 10. 將std :: shared_ptr <char>轉換爲std :: shared_ptr <unsigned char>
- 11. 段錯誤 - >在std :: basic_ostream中<char,std :: char_traits <char>
- 12. std :: string gets(char *)而不是(const char *)
- 13. 如何將多個char讀取結合到一個std :: vector中?
- 14. std :: ostream {aka std :: basic_ostream <char>}將值設爲'std :: basic_ostream <char> &&
- 15. 不能綁定'std :: ostream {aka std :: basic_ostream <char>}'左值爲'std :: basic_ostream <char> &&'
- 16. iterate std :: vector <std :: vector <char>>?
- 17. 如何用std :: bind做到這一點?
- 18. 未定義模板的隱式實例化std :: basic_string <char,std :: char_traits <char>,std :: allocator <char>>'
- 19. 如何「投」一個std ::矢量<char>到std :: vector的<wchar_t>
- 20. 將std :: vector轉換爲char *
- 21. 將std :: string複製到char *
- 22. 兩者的std :: string與char *
- 23. 將char *轉換爲std :: vector
- 24. nameless char [] to std :: string&reference
- 25. 將char添加到std :: string
- 26. 轉換的std :: string到char *
- 27. GCC 4.9 std :: string const char *
- 28. 的std :: enable_if串/ char類型
- 29. 深拷貝std :: string :: c_str()char *
- 30. 將std :: string轉換爲char
標題說'char **'但是身體說'const char *'並且從那裏變得更加困惑(爲什麼你要避免堆分配?)。請澄清,最好用代碼。 – 2011-05-29 23:35:53
我需要從文件中讀取字符串,並且想要輕鬆地添加和刪除字符串。 – jmasterx 2011-05-30 00:01:58