Closed hohomi closed 7 years ago
多谢反馈,这个comment已经没用了,我会去掉。
之前的版本有一些工厂方法,因为Context直接可以访问底层的C指针,创建Socket需要这个指针。而MQL没有friend类,所以无法让Socket直接访问Context包装的内部指针。因此就定义了一些方法直接构造各种类型的Socket。但是MQL又不支持返回引用,所以工厂方法只能返回Socket指针,这样又无法创建栈分配的Socket,给内存管理带来很大麻烦。因此作为妥协,让Context直接通过ref方法暴露了内部指针,这样整体的API好用了很多。
原来您之前已经做了那么多版本!看得出MQL与C++相比有太多局限性,不得不做出很多调整! 您现在这套API设计简洁又很好用。
socket.mqh里面提到:
我在context.mqh里找不到这个工厂方法。
我对zeromq还不是特别熟悉,我之前只用过pyzmq。这里提到的工厂方法是不是像pyzmq的context.socket(zmq.PUB)?但是不知道在您的mql-zmq这个工厂函数叫什么?