随笔分类 -  C&&C++知识

摘要:This is not a bug 在对比了几个Qt的excel工具以后,一开始想选一个尽量简单的,但是试用了以后,还是默默选择了Qxlsx,真香。 我是使用pri和源码直接添加到工程里,这样方便调试和问题出错,当然如果后期没有问题的话,可以考虑生成库的形式添加; 但是在每回项目编译的时候都会出现如 阅读全文
posted @ 2021-07-07 10:37 chencarl 阅读(1890) 评论(0) 推荐(0) 编辑
摘要:_findnext()在调试时会出现异常现象,第一个参数”路径句柄”,返回的类型为intptr_t(long long),要改为long long或者intptr_t //path 目录 filelist 文件列表 mode 文件名中的关键字 void filesearch(string path, 阅读全文
posted @ 2021-06-17 10:44 chencarl 阅读(365) 评论(0) 推荐(0) 编辑
摘要:昨天下载了一个github上的qt工程,拿回来一编译出现了N多错误,但是工程明明是正确的,没有什么特殊的配置设置, 但是就是几乎所有的代码都在报错。 可以看到关于类的操作都有问题 ..\qtprocess\mainwindow.cpp: warning C4819: 该文件包含不能在当前代码页(93 阅读全文
posted @ 2021-05-26 10:19 chencarl 阅读(4241) 评论(0) 推荐(0) 编辑
摘要:高仿花生壳客户端程序 前言 设计的初想是在现场调试的时候,使用花生壳进行远程时,感觉类似花生壳这种程序的模板较为普遍,当时和同事打趣说一个星期内可以做出一摸一样的界面,回到公司正好赶上离职,有时间想做一些东西,看到花生壳程序程序,瞬间想拿他用qt练手,于是三天时间仿制了该界面。 原生界面 仿制界面 阅读全文
posted @ 2021-04-08 16:44 chencarl 阅读(354) 评论(0) 推荐(0) 编辑
摘要:开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词, 才发现是不同时期不同版本不断发展的结果。 现在比较流行的搭配主要是freeglut+glew和glfw+glew,如果想做简单的测试或者自己实 阅读全文
posted @ 2019-04-17 13:01 chencarl 阅读(6991) 评论(0) 推荐(2) 编辑
摘要:iconv 编码gb2312转utf8 转码失败的坑 使用背景 项目中使用thrift进行C 程序调用c++接口,其中的协议是通过json进行传输的,由于默认thrift使用utf8进行传输,而C 和c++程序都默认使用多字节的编码方式,所以在传输前就需要对编码进行utf8的转换,而在接收处理的时候 阅读全文
posted @ 2019-04-12 09:57 chencarl 阅读(4607) 评论(0) 推荐(0) 编辑
摘要:准备 安装 "vscode" ,可直接下载deb包进行安装,完成后安装C/C++ for Visual Studio Code插件,安装后重启(最新1.3版本以后不需要重启)。 生成目录和文件 新建文件夹【test】,并新建文件helloworld.cpp文件,文件中内容如下, include in 阅读全文
posted @ 2019-03-02 22:40 chencarl 阅读(24931) 评论(0) 推荐(2) 编辑
摘要:中介者模式是关于数据交互的设计模式,该模式的核心是一个中介者对象,负责协调一系列对象之间的不同的数据请求,这一系列对象成为同事类。如房产中介(简直不想提它),买房的卖房的,租房的放租的都到房产中介那里去登记。如果有卖房的就会通知买房的去买房,如果有放租的就会通知租房的去租房。所有的事物都是通过中介进 阅读全文
posted @ 2018-04-27 23:25 chencarl 阅读(678) 评论(0) 推荐(1) 编辑
摘要:访问者模式是一种将数据操作和数据结构分离的设计模式,可以说是面向数据密集型的一种设计方式,数据的结构相对稳定,有明显的分层和分类,而对数据对象的相关操作进行分组、分析等二次加工,这些操作都是由访问者来执行的,而不是将这些放到被访问的数据对象中,方便了操作方法的扩展。 作用 封装一些作用于某种数据结构 阅读全文
posted @ 2018-04-21 13:53 chencarl 阅读(350) 评论(0) 推荐(0) 编辑
摘要:状态模式是根据其状态变化来改变对象的行为,允许对象根据内部状态来实现不同的行为。内容类可以具有大量的内部状态,每当调用实现时,就委托给状态类进行处理。 作用 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把 阅读全文
posted @ 2018-04-13 14:32 chencarl 阅读(299) 评论(0) 推荐(0) 编辑
摘要:当我们在实际应用中需要提供撤销机制,当一个对象可能需要再后续操作中恢复其内部状态时,就需要使用备忘录模式。其本质就是对象的序列化和反序列化的过程,支持回滚操作。 作用 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先的状态。 类视图 实现 阅读全文
posted @ 2018-04-12 19:32 chencarl 阅读(259) 评论(0) 推荐(0) 编辑
摘要:命令模式是我们能够实现发送者和接收者之间的完全解耦,发送者是调用操作的对象,而接收者是接收请求并执行特定操作的对象。通过解耦,发送者无需了解接收者的接口。在这里,请求的含义是需要被执行的命令。 作用 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持 阅读全文
posted @ 2018-04-11 17:06 chencarl 阅读(342) 评论(0) 推荐(1) 编辑
摘要:责任链的目的是通过特定的设计对请求者和接收者之间进行解耦,请求者调用操作的对象,接收者接收请求并执行相关操作,通过解耦请求者不需要关心接收者的接口,同时也可增强职责的灵活性,通过改变链内的成员或调用次序,允许动态新增或删除责任。 作用 责任链模式通过将多个对象连成链式模式,并沿着这个链传递命令或者请 阅读全文
posted @ 2018-04-09 20:01 chencarl 阅读(380) 评论(0) 推荐(1) 编辑
摘要:迭代器在STL运用广泛,类似容器的迭代已经成为其重要特性,而迭代器模式则是利用迭代器概念进行的抽象运用,迭代器模式运用广泛和有用,因为其能够不考虑数据的存储方式,而是直接面对数据进行迭代,也就是说我们不用考虑集合是数组(或vector)、链表、栈还是队列,而是通过统一的接口进行顺序的访问。 作用 迭 阅读全文
posted @ 2018-04-07 00:41 chencarl 阅读(259) 评论(0) 推荐(0) 编辑
摘要:观察者模式通常的叫法叫做订阅 发布模式,类似于报刊杂志的订阅,观察者和被观察者就是读者和邮局的关系,读者先要在邮局订阅想要的报刊,当报刊发行时,邮局会将报刊邮寄到读者家里。观察者(Observer)和被观察者(Listener)也是这种关系,Observer将自己attach到Listener中,当 阅读全文
posted @ 2018-04-06 14:59 chencarl 阅读(258) 评论(0) 推荐(0) 编辑
摘要:模板方法模式使用继承来实现模式的功能,在基类使用一个方法来定义算法的各个步骤,这些步骤(方法)的具体实现会放到子类中,通过这样来实现不同算法对象的算法拼合,完成该对象整体算法的实现。 作用 模板方法中定义了具体操作中所使用算法的各个步骤,并将其实现交由子类完成,从而实现多种不同的功能; 类视图 实现 阅读全文
posted @ 2018-04-04 23:50 chencarl 阅读(257) 评论(0) 推荐(0) 编辑
摘要:策略模式将不同算法的逻辑抽象接口封装到一个类中,通过组合和多态结合的方式来进行不同算法具体的实现。 作用 策略模式是一种定义一系列算法的方法,Strategy类层次为Context定义了一系列的可重用的算法或行为, 所有的算法以相同的方式进行调用,减少了算法类之间的耦合 类视图 实现 Strateg 阅读全文
posted @ 2018-04-04 22:18 chencarl 阅读(206) 评论(0) 推荐(0) 编辑
摘要:享元模式顾名思义就是羽量级模式或者蝇级模式,形容体量小的应用,该模式主要的设计目的是为了迎合系统大量相似数据的应用而生,减少用于创建和操作相似的细碎对象所花费的成本。大量的对象会消耗高内存,享元模式给出了一个解决方案,即通过共享对象来减少内存负载。 作用 通过复用相同的对象来减少对象的创建数量,创建 阅读全文
posted @ 2018-04-03 23:15 chencarl 阅读(332) 评论(0) 推荐(0) 编辑
摘要:组合模式为了描述分支包含关系,也就是我们说的树形关系,其对象分为枝和叶,每一枝可包含枝和叶,直到全部为叶节点。我们对枝和叶进行行为抽象,可认为枝和叶都是Component,而叶是最小的操作单元,其下不存在枝和叶,而枝作为Composite里面存有其下枝和叶的组件列表。 作用 将对象组合成树形结构以表 阅读全文
posted @ 2018-03-29 13:14 chencarl 阅读(277) 评论(0) 推荐(0) 编辑
摘要:桥接模式属于先天模式,这里的先天模式就是说一开始就要把结构搭建好,方便后来的扩展,而不是对已经出现的模块和接口进行改进扩展的。桥接的核心在于实体类和操作类之间的聚合关系,这个聚合关系就是我们所说的"桥",不同于装饰、代理和适配器模式的中的聚合关系,桥接不存在两者之间的继承关系,操作类是完全解耦的,而 阅读全文
posted @ 2018-03-28 17:30 chencarl 阅读(223) 评论(0) 推荐(0) 编辑