08 2017 档案

C++中的前置(后置)++与--
摘要:在C++中我们经常使用++或者--来实现变量的增减1,以++为例: 前置++是先累加再取出,而后置++是先取出再累加,这个是从实际的使用上的直观感受。现在从C++语言规则上来看,在语言上是如何区分前置后置呢,++的操作符形式都一样,从函数重载的角度去思考不难知道其中的奥妙,C++语言规定了后置++函 阅读全文

posted @ 2017-08-30 09:52 CodeBeauty 阅读(1010) 评论(0) 推荐(1)

C++11 使用using定义类型别名
摘要:传统的定义类型别名的方法是使用关键字typedef: 我们也可以使用#define来定义别名(使用预处理器) 在C++11中使用关键字using来进行别名声明,假设我们现在定义了结构体MyStruct,那么我们可以使用using为Mystruct类型设置一个别名: 这样我们在定义该结构体类型变量时, 阅读全文

posted @ 2017-08-30 09:49 CodeBeauty 阅读(4505) 评论(0) 推荐(0)

C++11 尾置返回类型
摘要:之前我们在声明函数的时候最前面的必然是函数的返回值类型,如: 对于返回值简单的函数来说这样做比较直观清晰,但是当返回值复杂的时候,这种方式就显得不那么直观了: 这个函数的返回值类型是什么呢?就需要从内而外,抽丝剥茧了: 明显这样的声明方式不是很直观,我们就可以使用尾置返回类型: 使用auto替换原来 阅读全文

posted @ 2017-08-30 09:49 CodeBeauty 阅读(644) 评论(0) 推荐(0)

操作系统之进程
摘要:1、什么是进程? 操作系统最核心的概念就是进程,进程就是对一个正在运行的程序的抽象。在单核CPU中同一时刻只能有一个进程在运行,这种情况下的并行是伪并行,只是CPU在多个进程之间快速的切换造成并行的假象,这种快速的切换就称作多道程序设计。当然在多核心CPU中,能够实现真正的硬件并行。 2、进程的模型 阅读全文

posted @ 2017-08-29 09:57 CodeBeauty 阅读(307) 评论(0) 推荐(0)

Linux之文件和目录的权限
摘要:Linux是一个多用户的操作系统,正确的设置文件权限非常重要。 1.1 权限设置针对的用户 Linux为三种人准备了权限——文件所有者,文件属组用户和其他人。其中root用户不应该算在其他人中,因为root用户具有控制一台计算机的完整权限。文件所有者一般是文件的创建者,但也不一定,可以中途改变一个文 阅读全文

posted @ 2017-08-29 09:46 CodeBeauty 阅读(461) 评论(0) 推荐(0)

Linux之移动复制和删除
摘要:1.移动, 复制和删除 1.1 移动和重命名:mv mv命令可以来移动文件: 上述命令将hello文件移动到bin目录下,也可以移动目录。 在使用mv进行文件移动时,没有任何提示,那如果出现重复的名称是没有移动成功,还是覆盖了呢,所以我们要在mv命令后加上 -i 会出现下面的提示 那么回答y表示覆盖 阅读全文

posted @ 2017-08-28 11:03 CodeBeauty 阅读(4557) 评论(0) 推荐(0)

LInux之建立文件和目录
摘要:1.建立文件和目录 1.1建立目录:mkdir mkdir命令可以一次建立一个或者多个目录,如: 也可以使用绝对路径来创建目录 当绝对路径不存在时会提示错误,那么可以使用-p选项来创建完整的子目录结构 1.2 建立一个空文件:touch touch命令的使用非常简单,只需要在其后面加上一个文件名作为 阅读全文

posted @ 2017-08-28 11:02 CodeBeauty 阅读(4735) 评论(0) 推荐(0)

Linux之多源文件编译(转)
摘要:多源文件的编译方法 如果有多个源文件,基本上有两种编译方法: [假设有两个源文件为test1.c和test2.c] 1. 多个文件一起编译 用法: 作用:将testfun.c和test.c分别编译后链接成test可执行文件。 2. 分别编译各个源文件,之后对编译后输出的目标文件链接。 用法: 以上两 阅读全文

posted @ 2017-08-26 22:47 CodeBeauty 阅读(520) 评论(0) 推荐(0)

Linux之gdb调试工具
摘要:1. 启动gdb 在使用gdb调试C/C++程序前,必须要使用gcc -g命令生成带有调试信息的可执行程序: 然后就可以使用gdb来对生成的hello二进制文件进行调试了。 gdb会首先在屏幕上答应一些其版本信息,然后显示提示符(gdb)等待用户指令。 2. 获取帮助 任何时候都能够使用help命令 阅读全文

posted @ 2017-08-26 22:46 CodeBeauty 阅读(519) 评论(0) 推荐(0)

Linux之编辑器Vim
摘要:Vim安装 在unbuntu下安装Vim,输入命令: Vim配置 在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。只对各个用户在自己的当前目录下的.vimrc修改的话,修改内 阅读全文

posted @ 2017-08-26 17:06 CodeBeauty 阅读(211) 评论(0) 推荐(0)

Linux之gcc与g++编译器
摘要:1.gcc编译器 gcc编译器开发初期定位为C编译器(GNU C Compiler),但随着时间的发展gcc编译器能够支持多种语言。 1.1 gcc编译器的使用 假如我们已经有了.c文件名称为Hello.c,可以使用下面的语句编译该文件: 该语句执行成功后,会在当前目录下生成可执行文件名称为a.ou 阅读全文

posted @ 2017-08-26 08:47 CodeBeauty 阅读(739) 评论(0) 推荐(0)

排序算法之归并排序(Merge Sort)
摘要:基本思想 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 代码实现 阅读全文

posted @ 2017-08-25 15:11 CodeBeauty 阅读(259) 评论(0) 推荐(0)

排序算法之选择排序
摘要:基本思想 在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。 代码实现 算法改进:可以一次搜索中同时找出最大值与最小值,能够提高算法的效率 阅读全文

posted @ 2017-08-25 14:01 CodeBeauty 阅读(194) 评论(0) 推荐(0)

排序算法之插入排序
摘要:基本思想 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,所以插入 阅读全文

posted @ 2017-08-25 10:56 CodeBeauty 阅读(179) 评论(0) 推荐(0)

排序算法之希尔排序
摘要:基本思想 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 希尔排序时效分析很难 阅读全文

posted @ 2017-08-25 10:56 CodeBeauty 阅读(221) 评论(0) 推荐(0)

排序算法之快速排序
摘要:基本思想 快速排序是冒泡排序的一种改进,其基本思想是通过一趟排序将数据分割大于基准值和小于基准值两部分,按照该方法对两部分数据进行快速排序,整个排序过程可以使用递归或者循环来实现。快速排序是通常被认为在同数量级(O(nlog2n))的排序方法中平均性能最好的。但若初始序列按关键码有序或基本有序时,快 阅读全文

posted @ 2017-08-25 10:04 CodeBeauty 阅读(258) 评论(0) 推荐(0)

排序算法之冒泡排序(Bubble Sort)
摘要:基本思想 假如按照从小到大的顺序排序,对待排序数组进行遍历,如果当前值大于其后一个值则进行交换,不断的进行遍历,直到没有交换动作的发生。冒泡排序的最好时间复杂度为O(n),最坏的时间复杂度为O(n²),所以冒泡排序的平均时间复杂度为O(n²),另外冒泡排序不会改变相同元素的前后顺序,故其是一种稳定的 阅读全文

posted @ 2017-08-25 10:03 CodeBeauty 阅读(404) 评论(0) 推荐(0)

Linux之Shell基本命令
摘要:Shell简介 命令行和Shell在很多不正是的场合,代表着相同的概念即命令解释器。然而从严格意义上讲命令行是指供用户输入命令的界面,只接受输入,在获取输入后进行解释处理工作,进行解释处理工作的便是Shell。Shell是一个程序,其在用户和操作系统之间提供了一个面向行的可交互接口。目前Linux下 阅读全文

posted @ 2017-08-24 17:12 CodeBeauty 阅读(425) 评论(0) 推荐(0)

Linux之find命令
摘要:find命令能够迅速在指定范围内查找到文件,其使用基本语法: find 【OPTION】 【path....】 【expression】 如 $find /etc/ -name init.d -type d -print 上面命令的含义是在etc目录下查找名称为init.d的文件(可以使用通配符), 阅读全文

posted @ 2017-08-24 16:58 CodeBeauty 阅读(577) 评论(0) 推荐(0)

C++11 auto类型说明符
摘要:编程时常常需要将表达式的值赋值给变量,这就要求在声明变量前知道表达式的类型,有时候很难预先知道,所以C++11新标准引入了auto类型说明符,其作用就是让编译器替我们去分析表达式的值类型,,auto让编译器通过初始值推算变量的类型,所以auto定义的变量必须有初始值。 如: 此处编译器会通过val1 阅读全文

posted @ 2017-08-24 15:55 CodeBeauty 阅读(880) 评论(0) 推荐(0)

C++之类型转换
摘要:隐式类型转换是编译器自动执行的,不需要程序员的介入,但是程序必须知道何时会发生隐式类型转换,有时候的隐式转换无法达到我们的预期,那就需要程序员多考虑考虑了。简单而言什么时候会发生隐式转换呢?首先相互转换的类型必须具有某种关联,比如bool型可以转换成int型的0和1等等,像字符串就不能隐式转换成in 阅读全文

posted @ 2017-08-24 15:15 CodeBeauty 阅读(335) 评论(0) 推荐(0)

C++中指针和引用的区别
摘要:在C++中指针和引用都提供了对象的间接访问,那引用和指针的区别如下: 1.引用必须初始化没有空引用一说,指针存在空指针且不一定要初始化(但最好初始化); 2.引用初始化完成后不能改变其指向,而指针可以改变其指向(除了指针常量); 3.引用不是对象,只是对象的别名,所以不存在引用的引用,指向引用的指针 阅读全文

posted @ 2017-08-24 11:09 CodeBeauty 阅读(131) 评论(0) 推荐(0)

C++之引用
摘要:1.引用的基本概念 引用(reference)为对象起了另一个名字,一般在初始化变量时,初始值会被拷贝对象中,而在定义引用时,程序将引用和其初始值(bind)绑定在一起,而不是将初始值拷贝给引用,一旦初始化完成,这种绑定一直维持,不能解除当前绑定和其他对象绑定。引用定义方式如下: 注意:引用只是对象 阅读全文

posted @ 2017-08-24 10:49 CodeBeauty 阅读(192) 评论(0) 推荐(0)

C++之指针
摘要:C++中指针是一个很让人头疼的东西,指针指向这儿指向那儿很容易把人搞晕了。指针实现了对象的间接访问,指针本身也是对象这点和引用不同,引用仅仅是对象的别名。指针可以在其生命周期内指向不同的对象(当然除了指针常量),另外指针无需在定义时赋值,指针也可以为空指针或者无效指针。 常用的定义方法如下: 注意: 阅读全文

posted @ 2017-08-23 22:12 CodeBeauty 阅读(196) 评论(0) 推荐(0)

初申博客随想
摘要:第一次使用博客园的博客,写个随笔纪念一下吧!之前一直想写博客,自己也知道写博客能够加深对自己已学知识的理解,可是一直没有时间,可能说没有时间有点假吧,应该是自己没有决心,不确定自己能不能坚持下来一直写博客,今天既然申请了博客也算是给自己一个激励吧,希望以后能坚持写写博客,既是对已学知识的总结,也希望 阅读全文

posted @ 2017-08-23 22:02 CodeBeauty 阅读(99) 评论(0) 推荐(0)

导航