C++
文章平均质量分 62
陆不凡
这个作者很懒,什么都没留下…
展开
-
Qt 杂记
Qt 事件传递顺序原创 2022-11-05 10:57:05 · 139 阅读 · 1 评论 -
malloc、calloc、realloc、free、malloc_trim
功能:将s所指向的某一块内存中的前n个字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针,它是对较大的结构体或数组进行清零操作的一种最快方法。②如果size较大,原来申请的空间后面没有足够大的空间扩容,系统将重新申请一块(20+size)*sizeof(int)的内存,并把原来空间的内容拷贝过去,原来空间free。ptr为指向原来空间基址的指针, new_size为接下来需要扩充容量的大小。原创 2022-10-26 21:28:53 · 1512 阅读 · 0 评论 -
QT插件框架
近来学习QT的插件框架,记录一些心得1、插件的好处:目前有很多软件以及库都是基于插件架构,例如PS、GIS软件如Arcgis、QGIS、还比如开源图形引擎OGRE以及OSG,这些都是插件架构,通过插件架构来进行功能的扩展。现代软件工程已经从原先的通用程序库逐步过渡到应用程序框架,比如一些C++的库,这些库都是实现某一领域特定功能的,比如GDAL,实现各种空间数据格式的解析,这种库通常不...原创 2018-10-02 11:05:50 · 30086 阅读 · 15 评论 -
设计模式--行为型模式
文章目录行为型模式命令模式行为型模式行为型模式类型关注对象之间的通信命令模式(Command Pattern)责任链模式(Chain of Responsibility Pattern ) 解释器模式(Interpreter Pattern)迭代器模式(Iterator Pattern)中介者模式(Mediator Pattern)备忘录模式(Memento Patter...原创 2020-01-05 19:49:37 · 180 阅读 · 0 评论 -
值得推荐的C/C++框架和库 (真的很强大)
值得学习的C语言开源项目WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210...原创 2019-12-13 19:33:34 · 274 阅读 · 0 评论 -
lower_bound 与 upper_bound 函数
头文件: #include 二分查找的函数有 3 个:lower_bound(起始地址,结束地址,要查找的数值) 返回的是数值 第一个 出现的位置。upper_bound(起始地址,结束地址,要查找的数值) 返回的是数值 最后一个 出现的位置。binary_search(起始地址,结束地址,要查找的数值) 返回的是是否存在这么一个数,是一个bool值。1 函数lower_bound...原创 2019-12-05 21:13:12 · 204 阅读 · 0 评论 -
设计模式—创建型模式
文章目录创建型模式1、工厂模式1.1、简单工厂模式1.2、工厂方法模式1.3、抽象工厂模式2、单例模式2.1、懒汉单例模式2.1.1、非线程安全的懒汉单例模式2.1.2、线程安全的懒汉单例模式2.1.3、返回一个reference指向local static对象(非线程安全)2.2、饿汉单例模式3、建造者模式4、原型模式创建型模式创建型模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使...原创 2019-11-25 20:46:58 · 334 阅读 · 0 评论 -
指针申请一个二维数组
指针申请一个二维数组本文转载,链接:https://blog.csdn.net/fengxinlinux/article/details/51541003方法一:利用二级指针申请一个二维数组。#include<stdio.h> #include<stdlib.h> int main() { int **a; //用二级指针动态申请二维数...转载 2019-11-20 19:08:43 · 1412 阅读 · 0 评论 -
Qt中设置程序只能运行一个
利用 QSharedMemory。程序创建时在内存中开辟一块内存,在运行时根据内存a是否已经建立判断程序是不是唯一运行。int main(int argc, char *argv[]){ QApplication a(argc, argv); static QSharedMemory *shareMem = new QSharedMemory( "SingleApp");...原创 2019-08-07 22:47:05 · 2153 阅读 · 0 评论 -
C++之Lambda表达式
1. 概述C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda 的语法形式如下:[函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体}可以看到,Lambda 主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable 或 exception 声明、-> 返回...原创 2019-06-13 23:36:49 · 365 阅读 · 0 评论