0

我在下面给出的形式的大型项目中有一个函数(func 在某些 Abc 类的调用层次结构中被调用 5 次):

 void Test::func(std::string c)
 {
       cout<<c;
 }

函数 func 被大型层次结构中的某些函数调用。但是函数 func 所做的只是打印一个字符串。现在,我不想打印字符串,而是想将其输出存储在某处(以向量形式),以便稍后在程序中的 func 层次结构开始处使用它。我完全不知道应该如何捕获这个输出而不是打印它。有人可以帮忙吗?

编辑:我不想从函数中返回值......因为如果我这样做......整个调用层次结构会受到干扰......是否有其他方法而不是返回。

我想定义我自己的数据结构,以便我可以存储它......但我不知道如何?

4

1 回答 1

5

当然:

class Test
{
    std::stringstream accum;

    void func(std::string);
};

void Test::func(std::string c)
{
    accum << c;
}

或者

class Test
{
    std::vector<std::string> accum;

    void func(std::string);
};

void Test::func(std::string c)
{
    accum.push_back(c);
}
于 2012-06-07T12:49:05.333 回答