![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础
文章平均质量分 63
非科班程序员
阳光下的猫咪很懒
展开
-
C++ 多线程开发知识汇总
作为偏底层的语言来说,在什么情况下使用什么,必须有理有据,那么这就考察了一个C++程序员对底层知识的理解。往往程序的健壮性就是建立在这个层面上的。多线程的开发在C++项目中是重中之重,如果你想对大量数据对运算并且采用分而治之的算法思想(这里暂且不考虑GPU的并行计算咯,处理器必须是多核的才有效果哟),那么选择多线程,如果你需要在QT中防止GUI线程因为计算而出现的卡段现象,那么需要多线程,如果你想编写高性能的网络服务,一样需要多线程。原创 2022-11-15 18:36:09 · 1025 阅读 · 1 评论 -
设计模式在项目中的应用之线程池
设计模式分为三大类:创建型模式五种:简单工厂模式、抽象工厂模式、单实例模式、建造者模式、原型模式结构型模式七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式行为型模式十一种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式额外几种模式:MVC模式、线程池模式、状态机模式写一手好的代码,如同做生意,让自己的店铺整洁有序,可以让人赏心悦目、让店铺客源滚滚。原创 2022-10-27 16:28:42 · 578 阅读 · 0 评论 -
记一次面试
记一次面试稳固一下知识点: 1.类中变量初始化的顺序,列表初始化和构造函数内初始化有什么区别? 答: 1.先按照初始化列表中的变量,在执行构造函数中的初始化,和声明先后没有关系,但是C++准则中:以同样的顺序定义和初始化成员变量,防止使用未初始化的变量。 2.列表初始化是执行的拷贝构造函数,而默认的构造函数内初始化是执行的赋值构造函数,这样就降低了一些性能。当然这是针对非内置类型来说的。 延申:理解构造函数 拷贝构造函数 赋值函数 拷贝构造函数的执行时机: 当函数的参数为类的对象时、当函数的返回值是类的对象原创 2021-02-28 01:05:50 · 106 阅读 · 0 评论 -
编码与字符集
1.编码的必要性 编码是为了将二进制转成对应的字符,不同的电脑的编码格式(或者网络输出时)可能不同,所以会出现乱码现象。 2.ASCII表 3.MBCS(多字节字符集) 为了扩充ASCII编码,以用于显示本国的语言,不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI...原创 2018-12-30 13:23:05 · 143 阅读 · 0 评论 -
堆栈的区别
C++中堆和栈的完全解析 内存分配方面: 堆: 操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删 除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样代码 中的delete语句才能正确的释放本内存空间。我们常说的内存泄露,最常见的就是堆泄露(还有...转载 2019-01-01 01:23:58 · 120 阅读 · 0 评论 -
线程和进程的区别
进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。 线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 如何理解呢? 一个进程内部必须有线程。线程必须依附于进程。 线程所拥有的资源少于进程的资源。...原创 2019-01-01 01:40:06 · 111 阅读 · 0 评论