作者FATCLOUD (A Cloud)
看板EE_DSnP
标题[问题] 小小技巧问题
时间Sun May 31 20:49:32 2009
老师好 我有个想法
在这个作业里要用到一种功能
就是读到 "and" 字样就要 new 一个 CirAndGate
在这个作业里的例子比较少
照理说用很多 if 或者用一个 switch 就能解决
可是为了程式架构可以日後修改的方便
我很想建一个像 map 的东西
就像这样
map<string,func> S
这样子当我有一大堆选项要 switch 然後执行函数的时候
就可以先用 map 找到应该执行的函数
再把参数传进去
我觉得这样的功能似乎挺不错的
想问问看如果是老师会怎麽写
=================== 以下是 OS ==================
感觉这个功能和 ref 的 command parser很像
印象中 ref 是用成 map<string,command*> 这种格式
然後在宣告物件
把物件指标存起来
执行时 map 出物件指标再 command->execute
但是 ref 的 command 有很多功能可以 -> 很多东西
而在这里我只是想做一个特大的 switch
如果还为此写好 class 以後再制造物件出来
程式里就多了个要照顾的地方
这样就会有点琐碎十分讨厌
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.218.75
1F:推 ric2k1:Sure, 你的 func 应该是指 functional pointer 或是 func 05/31 21:05
2F:→ ric2k1:object 吧? 只不过这里要做的只是 new a gate, 这样子做 05/31 21:06
3F:→ ric2k1:能不能有其他的好处? 05/31 21:07
4F:→ FATCLOUD:假如日後有其他的 gate 就可以继续注册进来 05/31 21:10
5F:→ FATCLOUD:不像 switch 一有新项目就要改 case 05/31 21:11
6F:→ FATCLOUD:一个小念头而已啦 想知道有没有漂亮的办法做这件事 05/31 21:11
7F:推 ric2k1:嗯嗯, 我想差别是用 switch 的话 A 必须改 B 所写的包含 05/31 21:13
8F:→ FATCLOUD:↑只是不喜欢为此再制造物件的做法 05/31 21:13
9F:→ ric2k1:switch 的 code, 而用 map 注册的话加 gate type 可以拿 05/31 21:14
10F:→ ric2k1:.a 档就好了... 05/31 21:15
11F:推 ric2k1:我想你说的是 map from string to functional pointer 05/31 21:15
12F:→ FATCLOUD:有 pointer 是可以直接指到 function 的吗!!? 05/31 21:17
13F:推 ric2k1:大一计程应该有教吧? 蚂蚁书讲 function 的那一章! 05/31 21:33