通过以下实施,我试图回答my question:
class wlist
{
private:
std::list<void*> m_list;
public:
unsigned int size () { return m_list.size(); }
bool empty () { return m_list.empty(); }
void pop_back () { m_list.pop_back(); }
void pop_front () { m_list.pop_front(); }
};
class qwertyWrap : public wlist
{
public:
int getNumber() { ptr->getNumber(); }
void setNumber(int x) { ptr->setNumber(x); }
private:
qwerty* ptr;
};
class qwerty
{
public:
int getNumber();
void setNumber(int x);
};
class asdf
{
public:
int getElement();
void setElement(int x);
private:
/* Question */
/* Can the following declaration be substituted by qwertyWrap keyboard ??? */
list<qwerty*> keyboard; or qwertyWrap keyboard;
};
问题: 我可以用“qwertyWrap键盘”代替类asdf中的“list keyboard”,并实现与STL列表相同的功能????
答案 0 :(得分:0)
没有。 A list needs more。这个链接只是一个指针。为了绝对肯定,你必须参考官方标准。
答案 1 :(得分:0)
回答我的初步问题: / *问题 / / 可以用qwertyWrap键盘替换以下声明??? * / 列表键盘;或qwertyWrap键盘;
qwertyWrap键盘可以替代列表键盘并仍然保持std :: list功能。我已经在某个时候实现了这个解决方案。