晚上有个沙雕需求,上游请求传过来一个字段,比如是"1;3;2;4;5;6;9;" 那么我按照顺序执行函数 f1(xx),f3(xx),f2(xx)……f9(xx)
伪代码:
exec_vec = phrase_exec_conf(xxxx);
for(int i = 0;i < exec_vec.size();i++)
call_func(exec_vec[i]);
我晚上自己写了下,不优雅,很垃圾,请教下各位在 C/C++中有没有优雅点的实现?
晚上有个沙雕需求,上游请求传过来一个字段,比如是"1;3;2;4;5;6;9;" 那么我按照顺序执行函数 f1(xx),f3(xx),f2(xx)……f9(xx)
伪代码:
exec_vec = phrase_exec_conf(xxxx);
for(int i = 0;i < exec_vec.size();i++)
call_func(exec_vec[i]);
我晚上自己写了下,不优雅,很垃圾,请教下各位在 C/C++中有没有优雅点的实现?
|
binuxOct 9, 2021 via Android
1
怎么不优雅了?
|
|
2
@binux 自我感觉垃圾,一会贴上来你看下,C++写的少一些。
|
|
msg7086Oct 9, 2021
3
写一堆 lambda 扔进数组里然后取下标执行?
|
|
ysc3839Oct 9, 2021 via Android
4
请放完整代码,仅凭现在提供的代码没法确定最佳方案。
|
|
T0kvghOct 9, 2021
5
std::map< int, std::function< void() > 之前这样稀奇古怪的用过
|
|
muzuigetOct 9, 2021
6
1. 粗暴,写很多 if 语句
2. 优雅,定义一套 DSL 3. Lua 帮到你 |
|
shawnshOct 9, 2021 via Android
7
函数指针加队列
|
|
2i2Re2PLMaDnghLOct 9, 2021
8
格林斯潘第十定律
|
|
9
@T0kvgh 这不是稀奇古怪的用法,这很常见吧。
|
|
10
@ysc3839 昨天睡着忘了贴了,晚上回去贴下我写的 3 个方式。
|
|
c0xt30aOct 10, 2021
13
感觉这已经是最干净利落的处理方式了,还是不要想着再加戏了吧
|