c++常用技巧
宝可梦梦梦梦梦
这个作者很懒,什么都没留下…
展开
-
以类模板封装单例模式
第一种返回类的静态对象;第二种返回类的静态指针 template<typename T> class SingletonVar { public: SingletonVar() = default; SingletonVar(const SingletonVar&) = delete; SingletonVar& operator=(const SingletonVar&) = delete; ~SingletonVar() = def原创 2021-02-21 18:48:00 · 134 阅读 · 0 评论 -
c++11关于函数指针和回调函数的总结
1)在类中定义函数指针,提供回调函数注册接口 class A { public: A(); public: using PF = void(std::string str); void RegisterCallback(const std::function<PF>& fn) { _callback = fn; } private: std::function<PF> _callback = NULL;原创 2020-11-14 22:42:33 · 232 阅读 · 0 评论 -
类库接口文件的使用(导出类)
将工程导出的dll、h、lib作为动态库给其他工程使用时,dll需要提供def文件来指引找到lib文件。使用dllexport和dllimport声明可以省略给出def文件,使用方法如下: globalDef.h: #ifdef DLL_EXPORTS #define GLOBALINTERFACE_API __declspec(dllexport) #else #define GLOBALINTERFACE_API __declspec(dllimport) #endi...原创 2020-10-30 15:37:33 · 252 阅读 · 0 评论 -
map表通过value查找key
std::map<std::string, void*> _objMap; class map_value_finder { public : map_value_finder(void* value) :_value(value){} bool operator()(const std::map<std::string, void*>::value_type &pair) { ...原创 2020-10-30 15:34:41 · 636 阅读 · 0 评论 -
一种类的初始化方法(根据命名来实现构造)
本范例提供了一种类的统一构造方法,对于具有统一基类的子类,可使用统一的方式来完成子类的创建。原创 2020-10-09 14:37:26 · 152 阅读 · 0 评论 -
一种类的封装方法
类与私有类: 为了使动态库最大程度上实现二进制兼容(一个在老版本库下运行的程序,在不经过编译的情况下,仍然能够在新的版本库下运行),应该使其数据模型保持不变,一个可行的方法是构造其私有类,在私有类中储存其成员变量,其数据模型保持为其私有类的指针不变;将私有类定义在.cpp中,可对外隐藏其成员变量。c++界面库Qt就是基于这种思想实现了类的封装。 ...原创 2020-09-28 10:36:07 · 174 阅读 · 0 评论