2011-05-29 36 views
-2

我有一個需要const char **的opengl函數。所以基本上是一個字符串向量。我想知道是否可以使用C++標準庫來完成,而不需要製作需要堆分配的向量const char*用std ::做一個char **?

+2

標題說'char **'但是身體說'const char *'並且從那裏變得更加困惑(爲什麼你要避免堆分配?)。請澄清,最好用代碼。 – 2011-05-29 23:35:53

+0

我需要從文件中讀取字符串,並且想要輕鬆地添加和刪除字符串。 – jmasterx 2011-05-30 00:01:58

回答

5

如果你想避免堆分配:

const char* arrayOfStrings[] = { 
    "first string", 
    "second string", 
    "third string" 
}; 

你也可以使用arrayOfStringsconst char**

如果你有const char*個矢量你可以得到的第一個元素的地址來獲得const char**

&vec[0]; 

但是,你是什麼意思時,你說:「使用[C++標準庫] 「?你說你想「不使用矢量const char*」來使用[C++標準庫]。這沒有什麼意義。

你不需要這個標準庫,請澄清你的問題,如果我的答案是不夠的。

+0

而且,據推測他是指C++標準庫,而不是STL。 2011-05-29 23:45:47

+0

@Tomalak我沒有得到你的 2011-05-29 23:46:37

+1

@Seth:[STL是*不是* C++標準庫。](http://stackoverflow.com/questions/5205491/whats-this-stl-vs-c - 標準庫 - 全部關於/ 5205571#5205571) – 2011-05-29 23:49:19

相關問題