一個文件A中有變量Int_double_map,現在執行完文件A,Int_double_map得到了一個值;
轉而執行文件B,文件B中的函數調用A中的一個函數Getmap得到其返回值,
返回值即為Int_double_map;
請問此時Int_double_map是不是已經無效了(即不是原來設置的數值)?
////////////////////////// 頭文件A
A.h
class A{
public:
Setmap();
double Getmap(uint16_t m);
private:
std::map Int_double_map;
};
//////////////////////////源文件A
A.cc
#include
A:Setmap()
{
Int_double_map.insert(std::make_pair(0, 0.1) );
Int_double_map.insert(std::make_pair(1, 1.1) );
Int_double_map.insert(std::make_pair(2, 2.1) );
Int_double_map.insert(std::make_pair(3, 3.1) );
}
double A:Getmap(uint16_t m)
{
std::map iter=Int_double_map.find(m );
return iter->second;
}
//////////////////////////頭文件B
B.h
#include
class B{
public:
B();
double Getmap(uint16_t m);
private:
uint16_t n;
ptr _a_pointer;
};
//////////////////////////源文件B
B.cc
#include
B:B():_n_(2)
{}
double B:Getmap(uint16_t n)
{
return a_pointer->Getmap(_n);
}
//////////////////////////
這個看你怎麼用了,每定義一個A類型,就會有個Int_double_map,如果同一個變量就是相同的,不同的變量就不確定了。