我在成員函數中使用靜態矢量,並將值推回到該矢量中; ,但對於三個函數調用,矢量的大小僅爲1。靜態矢量的大小
我不知道如何爲MVCE做MVCE,因爲它對我來說也很好,所以問題顯然是代碼的其他部分。 我只是想知道或有一個想法,我的靜態向量會給我這樣的結果。
class X
{
//...
};
template <typename T>
void test(T a)
{
std::cout<<"Function called \n";
static std::vector<X> vec;
std::lock_guard<std::mutex> lock(mx);
//Doing something else with T
X obj;
vec.push_back(obj);
std::cout<<"no of elements in vec is "<<vec.size()<<"\n";
}
輸出未來是
Function called
no of elements in vec is 1
Function called
no of elements in vec is 1
Function called
no of elements in vec is 1
成員函數從CPPREST http_client請求呼叫調用。
您是否用不同類型的'T'調用了'test()'3次? – songyuanyao
是的。但是測試相同的類的實例。 – Hummingbird
然後有3個不同的'test()'與'vec'的3個實例,這是不相關的。 – songyuanyao