02 2017 档案
摘要:在使用C++实现弱回调时,订阅者应当维护一系列发布者的weak_ptr,而发布者注册回调时要传出this的shared_ptr指针,流行的实现方法是使用std::enable_shared_from_this。 初次学习这个模板类时疑问了一下为什么不能依赖this直接产生一个shared_ptr?实
阅读全文
摘要:使用exception specifications你必须非常仔细去确保,函数调用的子函数、注册的回调函数不会违背约定。而设计模板内部的异常更难确保。 设计回调机制的时候,如果调用方规定了不抛出异常,就必须确保注册进来的函数均不会抛出异常,书上给出了这样的做法: 并以CallBackPtr类型注册函
阅读全文