我第一次嘗試boost lib,不知道如何分配字符串和共享指針的映射。 這裏是我的代碼,我試圖分配值,但無法做到這一點。如何將值賦給std :: map類型的成員變量<std :: string,shared_ptr <A>>
#include <boost\shared_ptr.hpp>
#include <boost\assign.hpp>
#include <boost\map.hpp>
struct X
{
public:
int p;
double q;
X();
~X();
};
struct Y
{
float m;
double n;
Y();
~Y();
};
struct Z
{
public:
std::map<std::string,boost::shared_ptr<X>> Xtype;
std::map<std::string,boost::shared_ptr<Y>> Ytype;
int i;
string name;
Z();
~Z();
};
struct X *x1;
struct Y *y1;
void setx()
{
x1->p=10;
x1->q=20.20;
}
void sety()
{
y1->m=10;
y1->n=20.20;
};
void initialize(Z *z1)
{
z1->i=30;
// how to i add x1 and y1 to Xtype and Ytype respectively of z1 struct
}
我的問題: - 如何將x1和y1值分配給z1類型的Xtype和Ytype。 真的不知道該做什麼以及如何開始。如果我能夠分配,那麼我可以繼續前進,以完成序列化。
嗨。你看起來很困惑。你知道一個'std :: map'是什麼,它是如何工作的?那'shared_ptr'呢? – jrok
@manu _u hv spk englsh n ths sit_。不是因爲我們無法理解事物,而是因爲它使你看起來不尊重你想幫助你的人。如果你懶得寫幾句話,你根本就不會成功,而且幫你浪費時間。 – sehe
對不起,先生!我沒有有目的地做它..有時很匆忙...... – manu