我在成员函数中使用静态矢量,并将值推回到该矢量中; ,但对于三个函数调用,矢量的大小仅为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