2

http://msdn.microsoft.com/en-us/library/ee2k0a7d.aspx

本机 C++ 类(不实现 COM 对象的 C++ 类)也支持事件处理,但是,该支持已被弃用,并将在未来的版本中删除

有谁知道为什么?找不到此声明的任何解释。

4

4 回答 4

6
  1. 这完全是非标准的组合,可能只有很少的实际用户。而且我的意思是即使在 WinNT 和 Microsoft 私有世界中的非标准组合。

  2. COM 具有更丰富的类事件机制库,并且现在还允许完全多线程的代码

  3. 这是致命的——该功能正在执行隐式锁定(可能是我们祖父在模板之前“同步”的想法以及对普通关键部分的广泛安全使用)。这使得它比 COM 的单一公寓更危险,咳咳,这件事 :-) 因为它可以让你突然陷入僵局(Java 的同步方法也发生过 - 没什么特别的 :-)

  4. 如今,每个人和他们的狗都知道如何使用普通的多线程,并且至少知道如何使用带有智能指针的临界区,所以除了危险之外,这件事也无关紧要。

于 2010-08-06T10:48:36.227 回答
1

我冒险猜测一下,类似的功能可以通过信号/插槽类型库以更便携/标准 C++(带模板)的方式实现,而不需要 MS 的编译器支持。

于 2010-02-19T10:59:14.890 回答
1

我冒昧地猜测他们现在会希望您以 .Net 的方式进行所有操作。

于 2010-08-05T23:02:35.130 回答
0

看看Boost::Signals2

(这是Boost Signals的继承者,不再维护)

于 2010-02-19T11:40:02.013 回答