阿牧路泽

哪有那么多坚强,无非是死扛罢了
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

随笔分类 -  C++

摘要:一、内存泄露 1、内存泄露的定义 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。 应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free 阅读全文

posted @ 2018-10-23 10:46 阿牧路泽 阅读(253) 评论(0) 推荐(0)

摘要:线程同步的方法主要有四种(《操作系统教程》一书): 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调一起对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具备有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后 阅读全文

posted @ 2018-09-25 15:43 阿牧路泽 阅读(200) 评论(0) 推荐(0)

摘要:C++ 信号处理 信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 Ctrl+C 产生中断。 有些信号不能被程序捕获,但是下表所列信号可以在程序中捕获,并可以基于信号采取适当的动作。这些信号是定义在 C++ 头文件 阅读全文

posted @ 2018-09-25 15:27 阿牧路泽 阅读(218) 评论(0) 推荐(0)

摘要:C++ 多线程 多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。 基于进程的多任务处理是程序的并发执行。 基于线程的多任务处理是同一程序的片段的并发执行。 多线程程序包含可以同时运行的两个或多个部分。这样的程序 阅读全文

posted @ 2018-09-25 15:23 阿牧路泽 阅读(204) 评论(0) 推荐(0)

摘要:C++的工厂模式分为三种:简单工厂模式、工厂模式和抽象工厂模式 简单工厂模式 简单工厂模式是工厂模式中最简单的一种,他可以用比较简单的方式隐藏创建对象的细节,一般只需要告诉工厂类所需要的类型,工厂类就会返回需要的产品类,但客户端看到的只是产品的抽象对象,无需关心到底是返回了哪个子类。客户端唯一需要知 阅读全文

posted @ 2018-09-19 18:10 阿牧路泽 阅读(217) 评论(0) 推荐(0)

摘要:函数原型 在C++中建立一个类,这个类中肯定会包括构造函数、析构函数、拷贝构造函数和重载赋值操作。 拷贝构造函数是一种特殊的构造函数,其作用也是为类的成员初始化以及为对象的构造分配存储空间。函数的名称必须和类名称一致,无返回类型,它的唯一的一个参数是本类型的一个引用变量,该参数是const类型,不可 阅读全文

posted @ 2018-09-19 17:51 阿牧路泽 阅读(560) 评论(0) 推荐(0)

摘要:单例模式 单例模式,可以说设计模式中最常应用的一种模式了,据说也是面试官最喜欢的题目。但是如果没有学过设计模式的人,可能不会想到要去应用单例模式,面对单例模式适用的情况,可能会优先考虑使用全局或者静态变量的方式,这样比较简单,也是没学过设计模式的人所能想到的最简单的方式了。 一般情况下,我们建立的一 阅读全文

posted @ 2018-09-19 17:51 阿牧路泽 阅读(160) 评论(0) 推荐(0)

摘要:一、C/C++编程中相关文件后缀(以Linux系统下为例): 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存运行。 库有两种: 静态库(Linux操作系统下是以.a做后缀,Windows操作系统下以.lib做后缀) 动态库(Linux操作系统下是以.so做后缀,Windows操作系 阅读全文

posted @ 2018-09-11 17:38 阿牧路泽 阅读(326) 评论(0) 推荐(0)

摘要:compare函数用来进行字符串以及其子串的比较,示例如下: 执行结果: 阅读全文

posted @ 2018-08-31 13:16 阿牧路泽 阅读(2621) 评论(0) 推荐(0)

摘要:面向对象程序设计(object-oriented programming)的核心思想是数据抽象、继承、动态绑定。通过数据抽象,可以使类的接口与实现分离,使用继承,可以更容易地定义与其他类相似但不完全相同的新类,使用动态绑定,可以在一定程度上忽略相似类的区别,而以统一的方式使用它们的对象。 虚函数的作 阅读全文

posted @ 2018-08-31 09:29 阿牧路泽 阅读(399) 评论(0) 推荐(0)

摘要:C++ 异常处理 异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。 异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throw。 throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键 阅读全文

posted @ 2018-08-08 14:08 阿牧路泽 阅读(206) 评论(0) 推荐(0)

摘要:C++ 文件和流 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。 本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型: 要在 C++ 中进行文 阅读全文

posted @ 2018-08-08 11:10 阿牧路泽 阅读(188) 评论(0) 推荐(0)

摘要:C++ 接口(抽象类) 接口描述了类的行为和功能,而不需要完成类的特定实现。 C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。 如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 "= 0" 来指定的, 阅读全文

posted @ 2018-08-08 11:01 阿牧路泽 阅读(162) 评论(0) 推荐(0)

摘要:C++ 数据封装 所有的 C++ 程序都有以下两个基本要素: 程序语句(代码):这是程序中执行动作的部分,它们被称为函数。 程序数据:数据是程序的信息,会受到程序函数的影响。 封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引 阅读全文

posted @ 2018-08-08 10:54 阿牧路泽 阅读(145) 评论(0) 推荐(0)

摘要:C++ 数据抽象 数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。 数据抽象是一种依赖于接口和实现分离的编程(设计)技术。 让我们举一个现实生活中的真实例子,比如一台电视机,您可以打开和关闭、切换频道、调整音量、添加外部组件(如喇叭、录像机、DVD 播放器 阅读全文

posted @ 2018-08-08 10:49 阿牧路泽 阅读(164) 评论(0) 推荐(0)

摘要:C++ 存储类 存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类: auto register static extern mutable thread_local (C++11) 从 C++ 11 开始,au 阅读全文

posted @ 2018-08-08 09:46 阿牧路泽 阅读(207) 评论(0) 推荐(0)

摘要:这篇文章主要的作用是认清const与指针,以及const参数在按值传参、按地址传参、按引用传参之间的关系。 #注意:const常量是不能改变的,所以不能作为左值,只能作为常量来使用,也就是只能作为右值。下面的调用函数中有带const的都重新定义了一个新变量并且赋初值,不赋初值会报错,然后把const 阅读全文

posted @ 2018-08-07 11:57 阿牧路泽 阅读(450) 评论(0) 推荐(0)

摘要:一、简介 1、概念 关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元) Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwic 阅读全文

posted @ 2018-08-07 09:49 阿牧路泽 阅读(316) 评论(0) 推荐(0)

摘要:C++ 模板 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。 每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector <int> 阅读全文

posted @ 2018-08-06 19:38 阿牧路泽 阅读(258) 评论(0) 推荐(0)

摘要:C++ 继承 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行时间的效果。 当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类 阅读全文

posted @ 2018-04-29 10:27 阿牧路泽 阅读(239) 评论(0) 推荐(0)