C++ 是否可以将多个结构作为一个数据包存储在一个函数中,然后传递给另一个函数并从中提取?

C++ 是否可以将多个结构作为一个数据包存储在一个函数中,然后传递给另一个函数并从中提取?,c++,C++,目前我在代码中面临一些问题。我有一个成员函数,其中包含4个参数。使用此信息,成员函数将筛选并存储所有这4个参数,以获得“n”个调用数。在“n”次调用之后,它需要将所有存储的信息发送给其他函数,该函数必须提取所有信息 有人能告诉我,我怎么能用C++来做这个?< /P> 多谢各位 以下是示例代码: **--------------------------------------------- -假设在文件“a”中:调用函数 发送_消息(int-ID、int-Level、int-Data、int-le

目前我在代码中面临一些问题。我有一个成员函数,其中包含4个参数。使用此信息,成员函数将筛选并存储所有这4个参数,以获得“n”个调用数。在“n”次调用之后,它需要将所有存储的信息发送给其他函数,该函数必须提取所有信息

有人能告诉我,我怎么能用C++来做这个?< /P> 多谢各位

以下是示例代码:

**--------------------------------------------- -假设在文件“a”中:调用函数

发送_消息(int-ID、int-Level、int-Data、int-length); **------------------------------------------------------------------

在文件“b”功能定义中:

send_message(int ID, int Level, int Data, int length)

{

if(checking some other information)

{

 then updtate **Level**

}

if(level > some number)      
{    
 then all four arguments needs to be stored for 'n' number of calls
// this function will be called for multiple times each call's updated information needs to be added to the previous one for 'n' times then finally stored information has to be sent outside.  
}  
}
------------------------------------------------------------------------ 在文件c中:

必须提取存储的信息----------------------


到目前为止,我已经创建了一个结构,其中有4个成员,这4个成员作为参数传递给函数。如果参数满足条件,那么它将单独返回该结构。但是我需要所有这些结构都应该存储为'n'个调用,并且需要在'n'个调用结束时发送。

如果您想要一种类型的数据类型,请使用类似于
STL
或该类型数据的数组

如果您希望有多种类型的数据,而这些数据没有标准的顺序格式,这意味着您需要进行管道通信,其中有人可以调用函数开始读取参数
begin()
,然后使用类似
pushInt(int i)/pushString(std::string i)/pushCustomStructName的函数(struct i)
然后调用
end()
来完成这些参数的读取并使用这些值。 (OpenGL通过
glBegin()
glEnd()
实现了这一点,您可以从中汲取灵感)

但是我想您可以使用类似于
printf
函数的方法来节省一些时间复杂性。为了做到这一点,您可以通过包含
#include
来使用
参数


我希望这能回答您的问题

如果您想要一种数据类型,请使用类似于
STL
或该类型数据的数组

如果您希望有多种类型的数据,而这些数据没有标准的顺序格式,这意味着您需要进行管道通信,其中有人可以调用函数开始读取参数
begin()
,然后使用类似
pushInt(int i)/pushString(std::string i)/pushCustomStructName的函数(struct i)
然后调用
end()
来完成这些参数的读取并使用这些值。 (OpenGL通过
glBegin()
glEnd()
实现了这一点,您可以从中汲取灵感)

但是我想您可以使用类似于
printf
函数的方法来节省一些时间复杂性。为了做到这一点,您可以通过包含
#include
来使用
参数


我希望这能回答您的问题

听起来您需要使用std::vector来存储数据


需要管理向量的生存期,以便在函数调用完成后保留数据。这可以通过在调用函数的循环之外声明向量变量来实现。还有其他方法,但您没有在问题中提供足够的详细信息来说明是否有替代的生存期管理方法这听起来像是需要使用std::vector来存储数据


需要管理向量的生存期,以便在函数调用完成后保留数据。这可以通过在调用函数的循环之外声明向量变量来实现。还有其他方法,但您没有在问题中提供足够的详细信息来说明是否有替代的生存期管理方法需要修改。

欢迎使用堆栈溢出。请阅读、获取、阅读以及。最后,请学习如何创建一个您的尝试,并将其展示给我们,描述什么可以使用或不可以使用。这看起来像是XY问题。不清楚您为什么要这样做。您可能需要检查命令和策略设计atterns。欢迎使用堆栈溢出。请阅读、获取、阅读以及。最后,请学习如何创建一个您的尝试的实例,并向我们展示,描述什么对它有效或无效。这看起来像是一个XY问题。不清楚您为什么要这样做。您可能需要检查命令和策略设计模式。Tq@Das沙夫。如果还有比这更有效的方法,请告诉我approachTq@Das请告诉我是否还有比这种方法更有效的方法
void foo( const wchar_t *format , ... ) {
    va_list argv ;
    va_start ( argv , fmt ) ;

    // handle your arguments here

    va_end ( argv );

    // use your arguments here
}