|
2
|
| Gustavo Muenz · 技术社区 · 17 年前 |
|
|
1
4
如果不想使用boost::函数,可以使用回调接口及其层次结构。
如果您有或可以使用boost::function-使用它,那么这是一个摆脱所有回调类的好方法。
编辑:
boost::函数和boost::bind可能不会使代码更可读。但是它会给你一个机会传递自由函数(我的意思是类外函数和静态类函数)作为回调,以及任何类的现有函数。
使用boost函数,可以将带有例如2个参数的函数作为回调传递,而回调只需要一个参数。
但同样,除非您的团队都知道并支持Boost,否则这不会使代码更具可读性。 |
|
|
2
7
是的,boost::函数可以很好地做到这一点。这是很常见的用法。您需要使用boost::bind将实例绑定到成员函数。
你在课堂上是怎么做到的。 确保“这个”不会被破坏,否则你的助推功能会在某个助推头中间的某个地方崩溃。 |
|
|
3
1
上面的答案很好,但是我想指出你在你的问题中提到的一些东西,它仍然与你在C++回调对象(Mykola的答案)和Boost之间的选择相关。 回调将是一个简单的void()函数,但它可能会增长,您永远不知道将来会是什么样的。 这可能是额外的、不必要的功能的最坏原因——也就是“以防万一”。如果你不知道-那就不要做超过必要的事情,你的猜测很可能是错误的,尤其是在你需要的时候。 另一方面,如果您知道它极有可能需要该功能 很快 ,那么它可能值得添加。 再次重复Mykola所说的——如果你已经在你的项目中得到了提升,并且你的团队喜欢它,那么就使用它,否则它可能是多余的。 |
|
Psionman · 如何在tkinter中获取被跟踪变量的引用 1 年前 |
|
|
Daniel · 类内的(Micro)Python回调函数抛出类型错误 1 年前 |
|
|
NewQode10 · 为什么我的高阶函数返回true和false? 1 年前 |
|
|
Sandervg03 · 为什么我要使用回调而不是等待? 2 年前 |
|
|
zxq · 使用js用正则表达式模式进行多次替换 2 年前 |