我在下面给出的形式的大型项目中有一个函数(func在某个Abc类的调用层次结构中被调用了5次):
void Test::func(std::string c)
{
cout<<c;
}
函数func由大型层次结构中的某些函数调用。但函数func所做的就是打印一个字符串。现在,我不是打印字符串,而是将其输出存储在某处(以矢量形式),以便稍后在程序中func层次结构开始时使用它。我完全不知道如何捕获此输出而不是打印它。有人可以帮忙吗。
编辑:我不想从函数中返回值...因为如果我这样做...整个调用层次结构将受到干扰......是否有其他出路而不是返回。
我想定义自己的数据结构,我可以存储它......但我没有得到它?
答案 0 :(得分: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);
}