摘要: 1、方便资源的管理,自动释放没有指针引用的资源。 2、使用引用计数来标识是否有多余指针指向该资源。(shart_ptr本身指针会占1个引用) 3、在赋值操作中, 原来资源的引用计数会减一,新指向的资源引用计数会加一。 std::shared_ptr p1(new Test); std::shared_ptr p2(new Test); p1 = p2; 4、引用计数加一/减一操作... 阅读全文
posted @ 2018-06-21 22:37 osbreak 阅读(188) 评论(0) 推荐(0) 编辑
摘要: unique_ptr使用场景 阅读全文
posted @ 2018-06-21 17:30 osbreak 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 1.菜单 1.01 菜单栏 // 注册目录测试函数 ON_COMMAND(ID_INSERT_MENU, OnMenuTest) void CMainFrame::OnMenuTest() { //获得主菜单 CMenu* pMenu = GetMenu(); //获得子菜单 CMenu* pSub 阅读全文
posted @ 2018-06-21 16:52 osbreak 阅读(454) 评论(0) 推荐(0) 编辑
摘要: https://learn.microsoft.com/zh-cn/cpp/?view=msvc-170 1.窗口 1.01 获得当前窗口的句柄 //获得当前窗口的句柄 HWND hWnd = GetSafeHwnd(); //通过HWND获得CWnd指针 CWnd* pWnd = CWnd::Fr 阅读全文
posted @ 2018-06-21 16:50 osbreak 阅读(192) 评论(0) 推荐(0) 编辑
摘要: pugixml比tinyxml快不止一个数量级pugixml 可以在github上直接下载到源码 https://github.com/zeux/pugixml 包括两个头文件(pugixml.hpp pugiconfig.hpp) 和 一个源文件(pugixml.cpp) 例子1 1 <?xml 阅读全文
posted @ 2018-06-21 16:36 osbreak 阅读(661) 评论(0) 推荐(0) 编辑
摘要: weak_ptr 是一种不控制对象生命周期的智能指针, 它指向一个 shared_ptr 管理的对象. 进行该对象的内存管理的是那个强引用的 shared_ptr. weak_ptr只是提供了对管理对象的一个访问手段. 为了解决std::shared_ptr在相互引用的情况下出现的问题而存在的, std::shared_ptr赋值给weak_ptr时,weak_ptr 支持拷贝... 阅读全文
posted @ 2018-06-21 15:01 osbreak 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 字符转码 1.01 UTF8ToUnicode std::wstring UTF8ToUnicode(const std::string& utf8string) { int widesize = ::MultiByteToWideChar(CP_UTF8, 0, utf8string.c_str( 阅读全文
posted @ 2018-06-21 11:06 osbreak 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 遍历 multiset 容器元素 multiset<int>::iterator i, iend; iend = ms.end(); for (i=ms.begin(); i!=iend; ++i) cout << *i << ' '; 反向遍历 multiset 容器 multiset<int>: 阅读全文
posted @ 2018-06-21 10:22 osbreak 阅读(431) 评论(0) 推荐(0) 编辑