gpt4 book ai didi

c++ - C++ 中的模板函数?也许不是正确的术语

转载 作者:行者123 更新时间:2023-11-28 08:08:49 24 4
gpt4 key购买 nike

我不确定我是否使用了正确的术语,但我很好奇是否有更有效的做事方式。我有一个处理大量片段(总共大约 30 个)的文件加载器。我的课上到处都是:

void fragment_03(char* location, int frag_num);
void fragment_04(char* location, int frag_num);
void fragment_05(char* location, int frag_num);
void fragment_06(char* location, int frag_num);

……等等。有没有更好的方法以更通用的方式声明这些函数,而不是写出 30 个不同的函数声明?

谢谢!

最佳答案

我不确定这是否是你想要做的,但是:

您必须单独声明和定义所有函数,但您可以将函数指针存储在数组中。

typedef void (fragment_function) (char* location, int frag_num);

frag_function fragment_0, fragment_1, fragment_2; //define functions in cpp file

fragment_function *fragment [] =
{
fragment_0,
fragment_1,
fragment_2
};

然后像这样定义它们:

void fragment_0(char* location, int frag_num) { /**your definition here*/ }

这样它们就可以像这样被索引调用:

for(int i=0; i<3; i++)
{
fragment[i](frag_location[i], frag_num[i]);
}

关于c++ - C++ 中的模板函数?也许不是正确的术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com