0

我对引用/取消引用有一些问题。例如我的主要功能:

//some code

std::list<std::string*> strs;
std::string strings = to_string(i);
strs.push_back(strings );
Debugger debug(strs);

main loop
{

i++;
asd = to_string(i);

}

我有 Debugger 类,它有两个功能:构造函数和绘图。

class Debugger
{
private:
    std::list<std::string*> strings;
public:
    Debugger(std::list<std::string*> strs);
    void draw(sf::RenderTarget& rt, int cameraX, int cameraY);
};

所以我需要我的调试器始终保持字符串是最新的,因为主循环中的变量会发生变化。

感谢帮助。

4

2 回答 2

0

如果您需要std::list<std::string*> strs从调试器类中引用相同的列表 ( ),则必须通过引用传递它。

std::list<std::string*> strs;
Debugger debug(strs);     

class Debugger
    {
    public:
        Debugger(std::list<std::string*> &strs);
   };
于 2013-07-10T01:13:02.637 回答
0

strs.push_back(&strings ) 因为 strs 存储字符串指针

于 2013-07-10T01:16:46.463 回答