摘要: Factory mode(工厂模式) 产生的背景 在面向对象系统设计中经常可以遇到以下的两类问题: 我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。所以就不得不在要用到子类的地方写new 对象。这样实体类的使用者必 阅读全文
posted @ 2023-05-18 22:21 WinkJie 阅读(139) 评论(0) 推荐(0) 编辑
摘要: C++ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问 deque是一个双端队列(do 阅读全文
posted @ 2022-06-05 19:47 WinkJie 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 预构建版本 在许多情况下,您可以找到满足您需求的OpenCV的预构建版本。 OpenCV 核心团队的软件包 使用默认参数构建的Android,iOS和Windows软件包以及每个版本都发布了最新的编译器,它们不包含opencv_contrib模块。 GitHub 版本:https://github. 阅读全文
posted @ 2022-06-03 05:33 WinkJie 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍的是MFC中一个重要的控件CListCtrl,其使用范围广,很多软件中都能看到CListCtrl的身影。当然,一些基本的概念和操作MSDN有相关说明,这里汇总并整理了网上一些比较实用的实际操作,每一个都有对应简单案例。 CListCtrl有四种样式:Icon;Smal lcon;List 阅读全文
posted @ 2022-05-08 23:48 WinkJie 阅读(3363) 评论(0) 推荐(0) 编辑
摘要: 主要事件: LVN_BEGINDRAG 鼠标左键正在被触发以便进行拖放操作(当鼠标左键开始拖拽列表视图控件中的项目时产生) LVN_BEGINRDRAG 鼠标右键正在被触发以便进行拖放操作(当鼠标右键开始拖拽列表视图控件中的项目时产生) LVN_BEGINLABELEDIT 开始编辑项的文本 LVN 阅读全文
posted @ 2022-05-08 23:11 WinkJie 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 链接 阅读全文
posted @ 2021-12-17 22:14 WinkJie 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 由于各种应用,我们需要调用系统的打开文件对话框或者打开文件夹对话框,或两者兼有。今遇到这个情况已经解决,特写下这篇博文。 1.打开文件对话框常用的方法是使用系统的CFileDialog。这里介绍另外一种方法就是使用OPENFILENAME这个结构体和GetOpenFileName()这个函数,可以实 阅读全文
posted @ 2021-11-04 22:09 WinkJie 阅读(1556) 评论(0) 推荐(0) 编辑
摘要: 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进 阅读全文
posted @ 2021-09-21 01:23 WinkJie 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 传统方法: //方法1: CString str; GetDlgItem(IDC_COMBO_NETCARD)->GetWindowText(str); //获得组合框中的选中内容 int nChID = atoi(str); TRACE("%s", str); TRACE("%d", nChID) 阅读全文
posted @ 2021-09-11 03:52 WinkJie 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 区别一、是否基于连接 TCP是面向连接的协议,而UDP是无连接的协议。即TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接。 区别二、可靠性 和 有序性 区别 TCP 提供交付保证(Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输),无差错,不丢失,不重复,且按序到达 阅读全文
posted @ 2021-06-03 10:25 WinkJie 阅读(1559) 评论(1) 推荐(2) 编辑