C++
要做一棵树
这个作者很懒,什么都没留下…
展开
-
do...while(false)的使用
do...while(false)的妙用转载 2022-06-29 16:20:47 · 276 阅读 · 0 评论 -
switch-case代码优化
1、前言 在实际的编程中,我们经常会使用到switch..case语句,这通常也是对一长串if..else if语句的优化。对于一些简单的情况(只每个case代码中代码长度不会很长,而且case分之并不多的情况),用switch..case语句即可,此时代码的可读性并不会很差,结构也算是清晰。但是一旦case分支数目众多,每个case语句块中代码长度也很长,这时对于维护这段代码的同学则...转载 2021-05-12 20:35:28 · 2138 阅读 · 1 评论 -
gSoap生成C++接口
gsoap一键生成C++代理类及其调用 原创 ...转载 2020-04-10 16:20:21 · 960 阅读 · 0 评论 -
C++ 23种设计模式理解
https://blog.csdn.net/CoderAldrich/article/details/83272866转载 2020-03-09 12:17:40 · 169 阅读 · 0 评论 -
深入理解依赖注入的前世今生
参考博客:1、依赖注入的由来背景解决的问题;注入方式;.NET自带的注入方式https://www.cnblogs.com/liuqifeng/p/11077592.html2、依赖注入和控制反转相关理解。MVC框架模型、.NET注入模型理解8篇博客https://www.cnblogs.com/artech/p/net-core-di-02.html依赖注入[1]: 控制反转依赖注入...转载 2020-03-06 12:55:06 · 167 阅读 · 0 评论 -
C#Maeshal类——托管资源和非托管资源转换
C#——Marshal.StructureToPtr方法简介http://blog.csdn.net/livelylittlefish/article/details/2423764 ...转载 2020-02-13 10:25:52 · 729 阅读 · 0 评论 -
理解有符号和无符号在电脑中的编码形式:源码、反码、补码
原码原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:[+1]原 = 0000 0001[-1]原 = 1000 0001第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]即[-127 , 127]原码是人脑最容易理解和计算的表示方式.反码反码的表示方法是:...转载 2019-11-24 21:14:00 · 1049 阅读 · 0 评论 -
红黑树和哈希表
一、哈希表和红黑树的数据结构分析 前言:hashmap是一种很常用的数据结构,其使用方便快捷,接下来笔者将给大家深入解析这个数据结构,让大家能在用的时候知其然,也知其所以然。一.Map首先,从最基本的讲起,我们先来认识一下map是个什么东西。在我们写程序的时候经常会遇到数据检索等操作,对于几百个数据的小程序而言,数据的存储方式或是检索策略没有太大影响,但对于大数据,效率就会差很远。...原创 2019-11-17 09:57:34 · 1710 阅读 · 0 评论 -
vector容器 reserve和resize; size()和capacity()区别详解
1、resize一个vector,相当于给其创建了n个元素,可以直接访问。2、reverse的话,相当于申请了n个元素的空间,不可以直接访问,当push_back的时候,就是把元素放到这些空间里。同时牵扯到size()和capacity()的区别,size()相当于已经拥有的元素大小,而capacity()是能够装下的元素大小,当前可能并没有那么多元素,对应reverse。错误案例:以下语法...原创 2019-10-22 17:29:00 · 915 阅读 · 0 评论 -
Glog日志
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/breaksoftware/article/details/51363353 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/temp...转载 2019-04-09 12:02:43 · 1899 阅读 · 0 评论 -
C++正则表达式
转 Qt工作笔记-QLineEdit用正则限制文本框的输入内容+正则表达式语法 2018年08月07日 17:01:07 IT1995 阅读数:489更...转载 2019-05-29 09:53:24 · 1163 阅读 · 0 评论 -
C++并发,线程间共享数据问题
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-09-01 18:25:50 · 378 阅读 · 0 评论 -
回调函数
问题-:我们为什么要用回调函数呢?本质上是为了实现模块间的解耦合,又可以记得在一次C++开发面试的时候被被一位主面官问到过这个问题,现在再回答一遍。我们对回调函数的使用无非是对函数指针的应用,函数指针的概念本身很简单,但是把函数指针应用于回调函数就体现了一种解决问题的策略,一种设计系统的思想。在解释这种思想前我想先说明一下,回调函数固然能解决一部分系统架构问题但是绝不能再系统内到处都是,如...翻译 2019-09-27 21:27:44 · 91 阅读 · 0 评论 -
vector容器下at 和[]区别。map和vector的[]区别
1、vector的下标操作不会添加元素,只能针对已经存在的元素操作。2、map的下标操作具有副作用,key不存在,会在map中添加一个具有该key的新元素,新元素的value使用默认构造方法。3、为什么要这样设计?vector是基于连续内存的容器,在尾部操作效率高,使用push_back添加元素,使用下标必须保证下表存在元素。map是基于节点的容器,元素有序。使用下标操作,第一步是查找ke...转载 2019-09-27 21:48:59 · 1502 阅读 · 0 评论 -
指针的内存的申请和释放本质
C++标准规定:delete空指针是合法的,没有副作用。一、delete之后将指针设置为null的好处所以我们在Delete指针后赋值为NULL或0是个好习惯。对一个非空指针delete后,若没有赋NULL,若再次delete的话有可能出现问题。如下代码:可以看出delete是释放指针指向的内存,并不是指针本身所占有的内存。所以delete后,指针的还是指向那块区域,并未清0,所以如果下...原创 2019-09-27 23:06:36 · 955 阅读 · 1 评论 -
迭代器失效分析以及处理方式
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/lujiandong1/article/details/49872763对于序列式容器(如vector,deque),序列式容器就是数组式容器,删除当前的iterator会使后面所有元素的iterator都失效。这是因为vetor,de...转载 2019-09-29 22:36:11 · 260 阅读 · 0 评论 -
QString,string,char* 在utf8和gbk不同编码下的相互转化
关于编码简介:ascii编码是最开始的编码规则本,里面只收纳了英文、特殊字符、数字等有限字符,采用的是8位一个字节的方式进行编码对照;unicode在ascii码的基础上进行了升级扩展,立志将全世界所有国家的语言文字等字符都编进去,故又被称为万国码;unicode采用的编码方式为统一四字节表示一个字符;由于unicode采用的是四个字节表示一个字符这种方式极大地浪费了资源和空间,所以又...转载 2019-10-11 11:23:41 · 790 阅读 · 0 评论