2016-09-03 111 views
1

我需要std::vectordlib::matrix,但我不知道在編譯時的矩陣大小;文檔告訴我:DLIB C++如何使一個std ::向量的dlib :: matrix

// (Note that if you don't know the dimensionality of your vectors at compile time 
// you can change the 2 to a 0 and then set the size at runtime) 
typedef matrix<double,2,1> sample_type; 

確定,但我需要這個對象的std::vector,所以我必須對我的std::vector設置什麼模板參數? 例如(get_dimensionality()給了我正確的dimensionanlity):

matrix<double,0,1> m; 
m.set_size(get_dimensionality(),1); 
std::vector<matrix<double,????????,1> v; 
v.push_back(m); 

什麼號碼在????????

回答

2

你有你的問題的答案。使用向量作爲

std::vector<matrix<double, 0, 1> v; 

所以你可以設置每個元素的大小,因爲它運行,你做的矩陣本身。

+0

但是如果我調整了後期...它仍然兼容?例如:v.at(0).set_size(get_dimensionality(),1);不再是,所以我改變了std :: vector中的對象類型... – volperossa