自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cherishinging的博客

记录c/c++/linux相关学习笔记

  • 博客(16)
  • 收藏
  • 关注

原创 C++复习之哪些函数不能声明为虚函数

什么样的函数不能声明为虚函数?1)不能被继承的函数。2)不能被重写的函数。1. 普通函数普通函数不属于成员函数,是不能被继承的。普通函数只能被重载,不能被重写,因此声明为虚函数没有意义。因为编译器会在编译时绑定函数。2.友元函数友元函数不属于类的成员函数,不能被继承。对于没有继承特性的函数没有虚函数的说法。3.构造函数首先说下什么是构造函数,构造函数是用来初始化...

2018-08-01 16:39:31 286

转载 C++复习之explicit关键字

首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:class CxString // 没有使用explicit关键字的类声...

2018-07-31 10:17:39 261

原创 C++复习之RII

1、什么是 RAII 技术RAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。   RAII 的一般做法是这样的:在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的时候释放资源。借此,我们实际上把管理一份资源的责任托管给了...

2018-07-31 08:03:01 660

原创 c++复习之语法特性::函数重写(override)、函数定义、函数重载与协变返回类型(covariant return type)

最近在复习C++,对函数重载、函数重写、函数重定义与协变返回类型概念很不清晰,所以在此整理总结~~首先来看函数重载与函数重写函数重载与函数重写函数重载 1、两个函数在同一个作用域 2、同名不同参(不同的参数类型、不同的参数个数、不同的参数顺序)函数重写 1、两个函数不在同一个作用域(主要在继承关系中体现:分别在基类和派生类) 2、子类重新定义父类中同名同参的虚函数...

2018-07-30 11:44:13 517

原创 Linux下三种安装方式介绍(源码安装/rpm安装/yum安装)

一、源码安装源码安装的步骤就是:编译源码,然后安装1.1 安装准备a. 首先用yum安装gcc,用于编译源码b. 官网下载源码包c. winSCP windows与linux传输文件(如果直接用要安装软件的linux电脑下载就不用传输了)1.2 安装过程a. 解压b. 进入解压后的目录配置软件 ./configure # 大多数情况下源码包都会带configure这样一个配置工具,具体使用方法可以...

2018-03-08 10:06:54 2020 1

原创 Linux下彩色进度条的实现

一、前言我们在Linux在安装软件的时候,均会有一个进度条来显现安装进度,进度条的实现较为简单,而彩色进度条则是在普通进度条的基础上增加了颜色的设置,下面来详细为大家介绍一个彩色进度条的实现。二、准备知识2.1 缓冲区概念一个缓冲区对象是固定数量的数据的容器,其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。一般C库函数写入文件是全缓冲方式,而写入显示器是行缓冲方式,prin...

2018-03-07 10:50:39 379

原创 Linux学习笔记——权限与指令

0 前言之前看鸟哥的私房菜,鸟哥有写到:Linux最优秀的地方之一,就在于他的多人多任务环境。Linux身份一般有三个类别,分别是:owner/group/others。那么这三个身份如何查看呢?当我们登录到Linux,输入ll,即可看到如下图1所示:图1 Linux文件前信息那么test.c这个文件前面的信息都是什么玩意呢?且听我详细介绍,如下图2所示,文件前的信息均是尤其含义:图2 Linux...

2018-03-01 13:26:23 236

原创 c++中类的默认四个成员函数介绍(构造函数+拷贝构造+析构函数+赋值运算符重载函数)

在C++中,类的6个默认的成员函数包括:构造函数、析构函数、拷贝构造函数、赋值运算符重载函数、取地址操作符重载、const修饰的取地址操作符重载。本文将主要介绍前四个成员函数:一、构造函数在c++程序中,对象的初始化时一个不可缺少且十分重要的问题,因此c++在类的设计中提供了构造函数。 构造函数,顾名思义,为对象分配空间,进行初始化,它是一种特殊的成员函数,具有以下特点:1.函数名与类名相同。

2017-06-28 16:57:34 1965 1

原创 C++ 命名空间-namespace作用与使用方法详解

在学习c++的时候,看到很多程序中用了以下语句: using namespace std; 这表明使用了命名空间std,那么什么是命名空间?为什么要使用命名空间呢?本文就详细介绍命名空间的意义和用法。1、为什么需要命名空间命名空间是ANSI C++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。 在c++中有4层次的作用域:文件、函数、类、复合语句。在不同的作用域中可以定义名字相同

2017-06-27 17:49:37 25369 6

原创 C语言中几种类型所占字节数

最近经常会遇到C语言中各类型变量所占字节数的问题,索性在这里做一个整理总结。 其实C标准并没有具体给出规定哪个基本类型应该是多少个字节数,而且这个也与OS、编译器有关,比如同样是在32位操作系统,VC++的编译器下int类型为4个字节,而在tuborC下则是2个字节。 下面给出一个表格,方便查看个类型的字节数: 类型 16位 32 位 64位 char 1 1 1

2017-06-07 17:09:25 70093 3

原创 通用冒泡排序法qsort的用法与其模拟实现

qsort是函数库自带的快速排序函数,c中qsort函数包含在stdlib.h的头文件.其函数原型为:void __fileDECL qsort ( void *base, size_t num, size_t width, int (__fileDECL *comp)(const void *, const void * )各个参数分别是: 1、base —— 待排序数组首地址

2017-05-21 16:28:36 634

原创 深入理解指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针

指针数组表达式为:int *p[5] 理解:下标运算符[ ]的优先级是要高于指针运算符*,因此p先和下标运算符结合,决定了p首先是个数组,其类型int *,表明数组的元素都是都是指针。而数组占多少个字节由数组本身决定。其实指针数组表达就是一个存放指针的数组。 其图示如下: 数组指针表达式为:int (*p2)[5] 理解:括号运算符()的优先级是最高的,因此p2先和括号内的指针运算符*结合,

2017-05-15 21:53:17 2725 6

原创 可变参数列表详解

一、定义及表达方式可变参数,顾名思义,其参数是可变的,具体指的是其参数的个数是可变的,即函数参数数目可变,其一般格式为:type VarArgFunc(type FixedArg1, type FixedArg2,...)其中,参数可分为两部分:数目固定参数和数目可变参数。函数至少需要一个固定参数,固定参数的声明和普通参数一样,可变参数由于个数不确定,声明时用“…”表示。注意,固定参数和可变参数共同

2017-04-23 22:14:04 1034 1

原创 函数调用栈帧过程(带图详解)

函数调用我们大家都很熟悉,我们都知道函数调用是发生在栈上的。首先,我们来了解一下程序对内存使用的分区情况: 区域 作用 栈区(stack) 由编译器自动分配和释放,存放函数的参数值,局部变量的值等。操作方式类似与数据结构中的栈 堆区(heap) 一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。与数据结构中的堆是两码事,分配方式类似于链表 静态区(sta

2017-04-18 15:32:35 14007 7

原创 如何给给字符数组赋值

要说C语言中最让我觉得棘手的,就是字符数组的,C语言中没有字符串这个类型,字符串只能存放在字符型数组中。那么,我们先来看看如何给一个一维数组赋值:1、定义的时候直接赋值:char arr[10] = {"kitty"};这种写法也可以直接省略花括号,直接写成:char arr[10] = "kitty";2、初始化列表,把各个字符依次赋给数组中的元素:char arr[10] = {'k','i',

2017-03-28 12:18:37 54158 4

原创 EOF的那些事儿

开始学习C语言有一段时间了,遇到的一个问题就是EOF。EOF到底是什么呢,百度这么解释:计算机术语,是end of file的缩写,在操作系统中表示无更多的资料读取。 看过一些程序,比如下面这段: char ch; while ((ch=getchar())!= EOF) { dosomething(); }之前一直以为这段代码中的

2017-03-27 17:06:00 520

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除