C/C++
FlyWM_
半路出家的程序员。。。
展开
-
new和malloc的区别
malloc 函数malloc的全称是memory allocation,中文叫动态内存分配。 原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。void *malloc(in转载 2018-01-04 13:41:31 · 3659 阅读 · 0 评论 -
Qt5读写修改Json数据
前言 Qt中对JSON支持提供了一个易于使用的c++ API来解析、修改和保存JSON数据。它还支持以二进制格式保存这些数据,这种格式是直接“mmap”的,并且访问起来非常快。读Json数据Json文件,1.json{ "name": "flywm", "age": "18", "home": "tianjin" }程序:#include <QCoreA...原创 2019-05-23 22:35:41 · 9159 阅读 · 7 评论 -
windows客户端开发--让你的客户端崩溃之前生成dump文件
debug时候我们可以很快速、精确的定位问题所在。但是对于release版本,我们往往无能为力。尤其面对一群难缠的客户,情况就会更加糟糕。而且对于release版本来说,crash的时候日志系统往往起不到任何作用。而且,我们也不可能捕获所有的异常,更何况,客户端崩溃的原因都是我们捕获不了的异常。这就需要dump文件了。dump文件是C++程序发生异常时,保存当时程序运行状态的文件,是调试...转载 2018-12-19 19:27:19 · 658 阅读 · 0 评论 -
数据结构与算法之数组顺序表
最近打算把数据结构与算法重新复习一遍,边复习边写博客方便以后查看,先来最简单的数组顺序表。顺序表 顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表...原创 2018-11-28 09:59:30 · 350 阅读 · 0 评论 -
C++ 工厂方法模式
原文: https://blog.csdn.net/liang19890820/article/details/70652858简述工厂方法模式(Factory Method Pattern)是一种常用的对象创建型设计模式,此模式的核心思想是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用以及方便后期维护拓展的目的。模式结构UML 结构图:Facto...转载 2018-11-26 13:45:33 · 2075 阅读 · 2 评论 -
简单工厂模式扩展之动态创建对象和配置化开发(C++反射机制的实现)
如果对简单工厂模式不够了解可以先看这里。简单工厂模式流程UML:实现首先定义一个函数指针typedef void* (*Constructor)();工厂类,用来注册、保存和创建要动态创建的类:class CObjectFactory{public: static void registerClass(std::string className, Constructor c...原创 2018-11-23 15:02:36 · 1208 阅读 · 0 评论 -
Pimpl设计模式
原文: https://blog.csdn.net/lihao21/article/details/47610309 Pimpl(pointer to implementation, 指向实现的指针)是一种常用的,用来对“类的接口与实现”进行解耦的方法。这个技巧可以...转载 2018-11-24 17:51:56 · 367 阅读 · 0 评论 -
单例模式扩展之多例缓存的设计
缓存我们主要采用std::map和懒汉式单例模式进行设计。本文中暂不考虑线程安全的问题。源码:#include &amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;amp;lt;map&amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;am原创 2018-11-24 17:21:08 · 411 阅读 · 0 评论 -
C++ 简单工厂模式
原文: https://blog.csdn.net/u011012932/article/details/70652199 简述简单工厂模式(Simple Factory Pattern)又叫做静态工厂方法模式(Static Factory Method P...转载 2018-11-23 09:12:35 · 1227 阅读 · 0 评论 -
C++单例模式
原文:https://blog.csdn.net/u011012932/article/details/61615495简述单例模式(Singleton Pattern)是设计模式中最简单的形式之一,其目的是使得类的一个对象成为系统中的唯一实例。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一对象的方式,可以直接访问,不需要实例化该类...转载 2018-11-23 22:50:15 · 234 阅读 · 0 评论 -
WaitForMultipleObjects用法详解,一看就懂
原文:https://blog.csdn.net/sac761/article/details/52456385WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象。函数原型为:DWORD WaitForMultipleObjects( DWORD nCount, // number...转载 2018-09-28 13:55:33 · 1055 阅读 · 0 评论 -
C++ 深拷贝与浅拷贝
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 拷贝构造函数 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream>using namespace std;class CExample {private: int a;public: CEx转载 2018-02-06 10:13:18 · 364 阅读 · 0 评论 -
C++ 隐式的类类型转换
转换构造函数 如果构造函数只接受一个实参,则它实际上定义了转换为此类类型的隐式转换机制,有时我们把这种构造函数称作为转换构造函数。实例#include "stdafx.h"#include #include using namespace std;class Animal{public: Animal(string name):m_name(name)原创 2018-02-01 15:30:17 · 939 阅读 · 0 评论 -
C++多态性
C++多态性介绍 C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。 C++多态性是通过虚函数来实现的,原创 2018-01-04 15:13:31 · 627 阅读 · 0 评论 -
深入理解C++的动态绑定和静态绑定
文章转自:http://blog.csdn.net/chgaowei/article/details/6427731 了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。 需要理解四个名词: 1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。 2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可转载 2017-12-27 08:35:57 · 412 阅读 · 0 评论