2011-02-24 86 views
3

我在許多boost庫中看到了這個函數vec(....)。它使用一些模板元魔法來構造一個向量,並將其放入其中,以進行類型推斷。因此,例如:增強vec(x,y,z)功能定義在哪裏

vec(1,2) returns vector<int> filled with 1,2

vec(1.1,2.2,3.3) returns vector<float> filled with 1.1,2.2,3.3

其用於測試,以及傳遞值參數向量真的很有用。但是我不能找到它定義的頭文件,而谷歌搜索Boost vec是完全沒用的,因爲顯然你會得到一百萬個關於向量類的結果。

有沒有人知道它在哪裏定義?

+0

你從哪裏看到了這個功能?我從來沒有見過它... – Tom 2011-02-24 12:45:21

回答

2

你是指boost::assign庫嗎?

它不是你提到的結構,但它是相似的。

+0

我已經使用boost分配之前,雖然它有一個類似的構造它不是我正在尋找。分配庫仍然需要您先定義容器。 ('vector v;'),然後賦值給它('v + = 1,2,3')。我正在尋找的功能可以在一箇中完成所有功能。我會查看代碼,看看是否可以找到另一個使用它的boost庫。 – JHSaunders 2011-03-01 09:49:37

+0

@JHSaunders真的,如果你想要在一行向量中初始化,你可以使用list_of v = list_of(1)(2)(3); (不是很短,但仍然不錯)。 – Tom 2011-03-01 11:27:52

+0

那麼我到處尋找我的神祕功能,並得出結論,它一定是一個夢或什麼。感謝您指出list_of(),它也可以做到這一點。 – JHSaunders 2011-03-02 22:46:33

相關問題