我想僅將一個名爲l_nMinplacesPos
的vector
的大小增加一個元素,並通過名爲m_nCurrentTime
的變量的值填充新元素(準備通過一個變量共享它MPI功能,MPI_Bcast
,到其他節點)。如何將矢量大小擴展一個元素並用變量填充
我想到了push_back()
和resize()
,但我想知道這些是唯一的方法還是有更好的方法?
我知道這是錯誤的語法,但我想說明的想法:
void ParaStochSimulator::broad_casting(long j){
std::cout << "i'm broad_casting" << std::endl;
l_nMinplacesPos = (*m_pcTransitionsInfo)[j]->GetManipulatedPlaces();
double m_nCurrentTime;
l_anMarking.reserve(l_nMinplacesPos.size());
//the vector that i want to extend:
l_nMinplacesPos.resize(1,m_nCurrentTime); //HERE
MPI_Bcast(&l_anMarking, l_nMinplacesPos.size(), MPI_DOUBLE, 0, MPI_COMM_WORLD);
}
任何幫助嗎?
你知道'push_back',所以用它。這正是它的目的。不要在沒有理由的情況下混淆「預訂」。你的'resize'將矢量縮小到1,消除之前的任何東西。 – aschepler