自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 代码简洁之道学习笔记

代码简洁之道命名:1、类、函数命名应该有规范性,要尽量做到名副其实。2、使用可读的名称。3、使用可搜索的名称。函数:1、函数要尽量的短(不超过20行)。2、一个函数尽量做到只做一件事情。3、函数编写要有规则:自上而下读代码,相同功能的不同函数要尽量靠近,并且调用者要在被调用者的上面。4、函数参数:最理想是零参数,其次是单参数,双参数。有足够特殊理由才能使用更多参数(三个以上,三为众,考虑封装类)。5、有入参尽量保证有返回值(事件除外)。6、先写try...catch...fina

2021-05-12 09:53:06 395

原创 C# 常用文件处理函数类

using Newtonsoft.Json;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;names...

2020-04-03 10:31:21 406

转载 C/C++中const的详解

 为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下:  常变量:  const 类型说明符 变量名  常引用:  const 类型说明符 &引用名  常对象:  类名 const 对象名  常成员函数:  类名:...

2018-08-16 11:27:27 558

原创 overload、overwrite、override的区别?

 答:Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。 Override(覆盖):是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);...

2018-08-14 16:34:43 399

原创 operator new、new operator和placement new的区别?

  1. 如果是在堆上建立对象,那么应该使用 new operator,它会为你提供最为周全的服务。2. 如果仅仅是分配内存,那么应该调用operator new,但初始化不在它的工作职责之内。如果你对默认的内存分配过程不满意,想单独定制,重载operator new 是不二选择。3. 如果想在一块已经获得的内存里建立一个对象,那就应该用placement new。但是通常情况下不...

2018-08-14 16:33:40 264

原创 操作系统的堆栈与数据结构的堆栈的区别

数据结构中的堆:      堆实际上指的就是(满足堆性质的)优先队列的一种数据结构,第1个元素有最高的优先权。      堆性质:叶子节点小于(或大于)父亲节点,则为小(大)顶堆。      数据结构中的堆可以用一个数组来存储(完全二叉树结构。)栈实际上就是满足先进后出的性质的数学或数据结构操作系统中的堆:      这里的堆是属于内存分配方式的一种:动态分配内存。  ...

2018-08-10 19:02:08 2623

翻译 QT学习路程(六)回车实现登录注册等功能

QT实现快捷键的三种方式 1、方法一,用信号和槽机制建立起连接,具体的做法如下。connect(ui.LineEdit,SIGNAL(returnPressed(),ui.PushButton,SLOT(clicked())));通过信号和槽机制建立起两个控件对象的关联。2、方法二,通过按钮控件的接口设置其快捷触发的键盘的按键。ui->pushButton_Sen...

2018-08-04 11:46:29 1615

原创 Qt学习路程(五)客户端与服务器之间传递结构体

最近做的项目,因为数据类型不唯一,需要用结构体来传递数据,可以Qt下对于,自定义结构不提供特定方法,这就需要进行一些简单的转化,下面是我就结构体如何传输的方法。 struct PersonData{ int use_id; char name[10]; int passwd; int passwds; int money; int fl...

2018-08-04 09:15:47 2091 5

原创 Qt学习路程(四)QString转char[]数组

这个问题是我在项目中遇见最简单,却调试时间最长的一个问题。下面我把我的解决方法发出来供大家参考。这是结构体定义。 typedef struct PersonData{ int use_id; char name[10]; int passwd; int passwds; int money; int flag; ...

2018-08-04 09:03:53 30711 5

原创 51单片机学习路程(五)LCD液晶显示

这篇文章介绍简单的LCD液晶显示屏的使用。 上面这个图,个人表示看的很费劲。所以直接上代码了。#include <reg51.h>#include <intrins.h>#include <Delay.h>#define DataPort P0#define RS_CLR RS = 0#define RS_SET RS = 1#d...

2018-08-02 17:16:40 1843

原创 Qt学习路程(三)动静态图片插入,基于背景图设置

Qt作为界面类编程设计软件,可以满足很多客户的一些基本要求,那么界面的美观性,就显得很重要,这篇文件介绍Qt下的如何插入图片,包括动态图,和静态图。图片得到大小,可以通过界面设置那边进行处理,大小自适应,就要在下面这个里面打钩 。下面是我具体的实现,当然,这些实现不一定要在构造函数里,你可以在你想要的地方,都可以。这边只是举例。图片可以插在label上,也可以插在按钮上,这边需要根...

2018-08-01 15:42:33 1875

原创 Qt学习路程(二)Qt下MySQL数据库操作

Qt下对于mysql的操作对于新手一开始是很难上手的,一不小心就出现程序直接奔溃,下面这篇文章,是我在写项目时,查的资料里面感觉用处最大的一个,在这边分享给大家。对于mysql和Qt的连接,如果出现问题,一定要去注意两个软件的位数是否一样,Qt如果是32位的,那么你的mysql必须也是32位才行。首先,要查询相关的驱动是否已经装好了,可以用以下的程序进行验证:#include &lt...

2018-07-27 17:33:56 773 1

原创 Qt学习路程(一)Qt下的QString,int,char*,char数组之间类型互相转换

写qt项目时遇见的常见的类型转换:char 转换为 QString其实方法有很多中,我用的是:char a='b';QString str;str=QString(a);QString 转换为 char方法也用很多中QString str="abc";char *ch;ch = str.toLatin1.data();QByteArray 转换为 char *char *c...

2018-07-27 17:24:27 5908

翻译 单片机学习路程(四)蜂鸣器唱歌

今天学习单片机蜂鸣器后,发现蜂鸣器的频率经过控制后可以实现唱歌的功能,就在网上找了相关教程,下面分享给大家。代码亲测,可直接复制使用。代码内附语句注释,理解应该不难。#include <reg51.h>#define SYSTEM_OSC 11059200//12000000 //定义晶振频率12000000HZ #define SOUND_SPACE 4/5 //定...

2018-07-24 19:36:16 7144 1

原创 51单片机学习路程(三)数码管点亮

文章最后面附有:数码管一些特殊运用。 数码管电路图数码管原理和结构图真值表,编程时用的到,这边先列出来。 下面就是点亮大数码管(共阳级)的代码://七段数码管显示实验 //2018.7.22#include <reg51.h>#include <Delay.h>#define DataPort P1 // 换接口,只需修...

2018-07-22 18:54:20 9411

原创 51单片机学习路程(二)星星点灯

这节内容,主要介绍如何用keil5编写第一个单片机程序,点亮你的LED灯。单片机芯片使用STC89C52:          8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源。这里不介绍软件的使用以及程序怎么下载到单片机上面。你可以参考这两篇博客:https://blog.csdn.net/mao_hui_fei/article/detail...

2018-07-21 11:41:50 700

原创 51单片机学习路程(一)

1.学习单片机可以做什么?应用领域 :      目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。小到电话,玩具,手机,各类刷卡机,电脑键盘,彩电,冰箱,空调,电磁炉,大到汽车,工业自动控制,机器人,导弹导航装置,甚至是美国的火星车,这些设备里面都含有一个或者多个单片机 。单片机的数量不仅远超过PC机,甚至比人类的数量还要多。因此,单片机的学习、开发与应用将造就一...

2018-07-18 19:36:23 1074

原创 const和static的用法与作用

const的用法与作用(1)在C语言中用const去修饰一个变量,表示这个变量是只读的,不可通过显式的调用a去修改a的值,并且此时a仍然是一个变 量,不能等同于常量;(2)要注意const在声明变量时所处的位置,位置不同,在意义上可能会有很大的不同。如果const在'*'左边,则表示指针指向的变量的值不可变;如果const在'*'右边,则表示指针的值是不可变的;(3)C语言和C++中的const有...

2018-07-10 10:10:32 647

原创 volatile关键字的作用

.volatile关键字的作用以及优化代码的原因    易变的”因为访问寄存器要比访问内存单元快的多,所以编译器一般都会作减少存取内存的优化,但有可能会读错数据。当要求使用volatile声明变量值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。精确地说就是,遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问;如果不...

2018-07-10 10:08:11 223

原创 Linux,Python,数据库(你想要的这里都有)

在这个网站,每一个菜鸟都可以学习你想学的一切东西。http://www.runoob.com/

2018-06-09 12:17:04 517

原创 Python2.x(3.x)安装及Ulipad的安装和使用

学习Python,首先必须要有编辑器,所以先介绍两种。Python3.x和Python2.x,目前大部分第三方类库都是基于2.x的,书和资料也是2.x的居多,可以先从2.x入手学习再转3.x。Python的安装从官网下载最新的Python安装包。http://www.python.org直接进行安装就好了,这边没什么要注意的点。安装好之后就可以编写了。程序呢有三种执行的方式:1,编辑器执行。2,d...

2018-06-07 11:01:19 4154 1

转载 makefile的用法(带你入门)

Makefile值得一提的是,在Makefile中的命令,必须要以[Tab]键开始。      什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义...

2018-05-30 16:05:05 5472

原创 链表,双链表,循环链表的常见操作

这篇文章用于巩固,复习用,所以不做链表的慨念和相关知识。直接上代码,来复习那些已经快要忘却的链表操作。理解的同时,动手敲几遍代码,才能牢固掌握欧实现单链表的建立,测长,打印,删除,插入,排序,逆置,查找中间节点#include <iostream>#include <stdio.h>#include <string.h>#include <coni...

2018-05-30 15:59:28 594 1

原创 linux下的常见指令

ls          显示文件或目录     -l           列出文件详细信息l(list)     -a          列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir         创建目录     -p           创建目录,若无父目录,则创建p(parent)cd               切换目录touch          创建空文件echo ...

2018-05-22 20:10:54 189

原创 C++面向对象(六)设计模式

这篇文章主要介绍C++常见的十几种设计模式模式:在一定环境中解决某一问题的方案,包括三个基本元素--问题,解决方案和环境(固定套路)。第一类:创建型模式单例模式,简单工厂模式,工厂模式,建造者模式,原型模式 第二类:结构型模式代理模式,装饰模式,适配器模式,桥接模式,组合模式,外观模式,享元模式。第三类:行为型模式观察者模式下面具体介绍这些模式,通过案例,学习设计模式,也要注意一点,重在理解案例,...

2018-05-17 19:27:20 525

原创 STL标准模板库

STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。现然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。几乎所有的代码都采 用了模板类和模板函数的方式,这相比于传统的...

2018-05-08 18:58:47 306

原创 c++面向对象学习(五)异常和错误

(一)什么是异常?1)异常是一种程序控制机制,与函数机制独立和互补     函数是一种以栈结构展开的上下函数衔接的程序控制系统,异常是另一种控制结构,它依附于栈结构,却可以同时设置多个异常类型作为网捕条件,从而以类型匹配在栈机制中跳跃回馈.2)异常设计目的:    栈机制是一种高度节律性控制机制,面向对象编程却要求对象之间有方向、有目的的控制传动,从一开始,异常就是冲着改变程序控制结构,以适应面向...

2018-04-30 21:27:39 284

原创 sprintf函数的用法

参考网址:http://www.360doc.com/content/13/0701/16/10724725_296813859.shtmlsprintf函数的用法在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比prin...

2018-04-17 16:01:44 347

原创 c++面向对象学习(四)函数模板与类模板

概述:         C++提供了函数模板(function template)。所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。 1)C++提供两种模...

2018-04-16 10:39:18 458

转载 c++面向对象学习(三)类、继承、模板、运算符重载

1、类、派生类      C++中类的概念很重要,重要到什么程度呢?把class/struct看成和main同一个等级,为什么这么说呢?因为,C++中不允许全局变量独立于类外,所以,在一个C++文件中,除了头文件,就是class和main了。当然这只是其中一个原因。另外,类可以看做一种类型,和C中struct类似的一种类型。但又有一定的区别。下面具体分析。       不论是类还是派生类,都是类,...

2018-04-09 16:35:11 306

转载 面试之:操作系统

转载于:https://blog.csdn.net/ligupeng7929/article/details/79420995 这些知识点是我看了不少面经,以及查了不少资料总结的,目前我也正在每天牢记,考试只要考到操作系统,必然会考这些,希望这些能帮助到您,也可以提出宝贵意见!1、线程和进程的基本概念 进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一...

2018-04-02 22:56:13 329

原创 笔试常见的简答题(不断更新)

一,关键字static的作用答:声明一个全局变量,局部变量或函数,使得被声明的值,可以再子函数和主函数之间使用,而不会被释放,知道整个程序结束。(延长了生命周期),修饰全局变量或函数时只能在本文件使用。二,局部变量和全局变量是否可以重名?答:可以重名,在函数中引用这个变量时,会用到同名的局部变量,而不会用到全局变量。三,static全局变量和普通全局变量有什么区别?static局部变量和普通局部变...

2018-03-26 22:08:21 1225

原创 c++面向对象学习(二)编译时多态

多态是面向对象编程的重要特征,所谓多态性是指不同对象收到相同消息时产生不同动作。通俗的说,多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的动作。即用同样的接口访问功能不同的函数。多态可以简单的理解成一个接口,多种方法。但是特定的场合下,一个接口只能对应一种与其环境最匹配的方法。多态分为动态多态和静态多态,两者本质区别是函数地址是早绑定还是晚绑定。编译期间可以确定函数的地址并生成代码就...

2018-03-24 22:16:57 310

原创 c++面向对象基础(一)

一,面向对象与面向过程的比较1,面向过程程序设计核心:算法和数据,“程序=算法+数据结构”。”先功能后数据”的思想。当问题规模不大时,因面向过程的设计方法逻辑清楚,实现简单,是最方便的。局限性:问题规模过大时,同一时刻的数据共用导致最终软件产品的不安全,代码重用率低等问题而低效。2,面向对象的程序设计方法把状态(数据)和行为(功能)捆绑在一起,形成了对象。面向对象有三个特点:封装,继承,多态。封装...

2018-03-17 21:50:50 389

转载 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。请按从小到大的顺序输出这32种01串。(五种方式)

看到第一个方法时,我觉得可以转载这篇文章做个留念。(活到老,学到老,套路到老)对于其他方法,还是很强势的,大家可以借鉴,共勉。一:暴力(这个可以有)#include <iostream>using namespace std;int main(){ cout<<"00000"<<endl; cout<<"00001"<&

2018-03-14 17:30:08 3187 2

原创 野指针详谈

首先我来说说什么是野指针,野指针通常是因为指针变量中保存的值不是合法的内存地址引起的 。野指针不是NULL指针,是指向不可用内存的指针。NULL指针不容易用错,if语句很好的判断一个值是不是NULL;野指针带来的坏处,最小最小来说,如果那片内存没被使用表面看起来是没问题的。但通常情况下,它会造成内存泄漏,严重的话,会造成程序终止或系统重启。C语言值没有任何手段可以判断一个指针是不是野指针!野指针的...

2018-01-30 15:31:44 715

原创 操作系统(一)文件操作

大家想必听过这样一句话----Linux下皆文件(Linux是一个安全的操作系统,它是以文件为基础设计的,印证上句话)。Linux操作系统中,它对一切资源的管理归根结底都是对文件的操作。不带缓存的I/O是对文件描述符操作,带缓存的I/O是针对流的。一,Linux目录结构mkdir mm 是创建一个tiger的目录,然后用命令“ls -al tiger”来看一下tiger目录的详细信息。Linux采...

2018-01-30 11:33:50 438

原创 游戏停车场管理系统 (c语言)

在数据结构这部分学习结束后,写一个小项目,我想是对这部分知识一个很好的运用过程。我在这 介绍我写的一个项目,游戏停车场(这个版本只是初级版,可以在这之上继续添加很多其他功能,大家可以自己尝试)。功能要求如下:程序如下:/*************************************************************************** 项目要求 游戏VIP停车...

2018-01-25 21:07:19 1976

原创 数据结构(六) 七大排序详解

说到排序,我先给大家介绍一个慨念,排序的稳定性。对于两个或两个以上的关键字相等的记录,排序的结果可能会存在不唯一性,这就牵扯到稳定与不稳定。假设k1 = k2,k1在k2前面,且排序后的序列,k1,k2对应的值没发生前后变化,就说这种排序是稳定的,反之,不稳定。如图:下面再提一个慨念,内排序和外排序。内排序:在整个排序过程中,待排序的所有记录都被放置在内存 中。外排序:由于排序的记录太多,不能同时...

2018-01-25 20:57:54 511

原创 数据结构(五)二叉树及其运用(递归方式)

数据结构分为线性结构和非线性结构,而这次所讲的树和二叉树为非线性结构。对于树和二叉树的理解,运用图能更好的让我们去直观的思考。在这之前,我先给大家提几个关于二叉树的慨念。树:是由n个结点构成的集合。n = 0 的树为空树。结点:包括一个元素及若干个指向其子树的分支。结点的度:结点所拥有的子树的个数称为该结点的度。叶节点:度为 0 的结点,也叫终端结点。满二叉树:在一棵二叉树中所有分支都有左右孩子,...

2018-01-16 11:34:24 621 1

空空如也

空空如也

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

TA关注的人

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