- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 小心指针的备份
小心指针的备份某天一直在思考指针和双指针使用上的区别,以及各自应用地方。由指针的本质是修改内存块上的存放的值,即变量的值。类比联想到双指针应该也是修改指针变量的值,而指针变量存放的是地址,修改其值就相当于修改地址,即修改了指针的指向!修改了指向的内存块。下面是一段代码我们慢慢来品尝。#includevoid getMemory(char* p,int num){p = (c
2016-10-31 20:28:28 660
原创 细节决定成败—字符数组&字符串区别
下面我们通过两个函数来分析字符数组和字符串他们之前用法的区别:1、返回字符数组函数char* strA(){char str[] = "hello world!";return str;}2、返回字符串函数char* strA(){char* str = "hello world!";return str;}~~~~~~~~~~~~~~
2016-10-31 17:10:09 540
原创 基类析钩函数要加virtual变为虚函数
基类析钩函数要加virtual基类析钩函数加virtual有很大的好处,其中最大就是可以减少内存泄露!因为多态性,下面我们可以通过一个例子来说明下:class CBase{};clase CChild:public CBase{};CBase* pBase;CChild C;pBase = &C;//多态性,父类指针指向子类上面的关系就是利用
2016-10-30 10:20:09 348
原创 友元函数
看了一大篇的友元函数的解释,对其做个总结。友元函数:定义在类外部的普通函数,函数接口前面必须要加friend关键字。友元不是成员函数,但是他可以访问类中所有成员,包括私有成员,友元的作用在于提高程序的运行效率,但是破坏了类的封装性和隐藏性,相当于该类为某个函数开了绿色通道,使得非成员函数可以访问类的私有成员。尽量不使用友元除非不得已!友元可以是一个函数,称为有元函数;也可以是一个类称为友元
2016-10-30 09:58:44 845
原创 指针的危险
指针是一种高效率的好东西,可以设计出高效率的程序,但是指针使用不当那就是高危险,会给整个系统带来灭顶之灾。整个系统分分钟奔溃!下面是我大概总结常见的指针高危的操作,甚至可以说是非法操作!1、指针还没有指向就直接对其进行赋值操作!例如:int* Temp;*Temp = 10; 对于初学者一开始不怎么留意的话很容易就会犯这种致命的错误。下面可以说是一个一直以为是对的程序,是关于交换两
2016-10-27 19:58:45 2837
原创 linux串口雷区
linux的串口可不必像windows下那样使用的方便,并且系统会识别各种各样的类型串口,而windows的话就直接都是COM口的形式出现在设备上管理器上。linux的串口类型有三种:1、ttyUSB*,这种串口转USB芯片设备PL23032、ttyS*,这种设备是一些正式的串口设备3、rfcomm*,这种就是蓝牙串口设备,一般蓝牙利用串口端口进行信息的传送由于
2016-10-22 16:54:31 516
原创 linux下解决设备权限的问题总结
最近在用QT开发一个图像界面,需要操作到linux的设备,而linux对于设备管理比较严格,一般的用户根本没有这个权限去操作这些设备。但是可以来硬的。方法一、最简单的办法:复制代码代码如下:$ sudo gedit /etc/fstab在末尾加上复制代码代码如下:# the USB group# 对所有用户开放USB设备的读写权限
2016-10-22 16:31:37 4154
原创 ACM图论算法—邮递员投递问题
题目描述著名图论问题之一。邮递员从邮局出发送信,要求对辖区内每条街,都至少通过一次,再回邮局。在此条件下,怎样选择一条最短路线?此问题由中国数学家管梅谷于1960年首先研究并给出算法,故名。 中国邮递员问题——可以叙述为在一个有奇点的图中,通过增加一些重复边,使新图不含奇点,并且重复边的总权为最小问题!快递员从V1出发给V2、V3、V4、V5、 V6、V7、V8、V9派发快递,求派完所有回到原出
2016-10-21 22:31:14 19471 6
原创 ACM图论算法—UNIX插头问题
问题描述你负责为联合国互联网执行组织(UNIX)的周年会议布置会议室。该组织的主旨是使互联网上的信息和思想的自由交流变得尽可能笨重和官僚(^_^)。 因为会议室被审计为招待来自世界各地的记者的场所,它装备了一些电气插座以匹配各个国家使用的电器的不同插头形状和电压。当然,这些插座的规格是以这个会议室建成时世界各国的规格作为标准的。不幸的是,由于这座会议室年代久远,它建成时,记者还只是使
2016-10-21 21:17:05 815
原创 linux串口权限问题
最近几天采用QT移植第三方开源串口库,对整体代码看完之后,感觉这次移植应该是非常自信的,谁知道今天测试的时候就各种卡,连串口都一直没办法打开,安装了mnicom测试串口是否有问题,用mincom测试是可以的,但是minicom是要管理员的权限运行,而我用QT开发的那个是不没有获得管理员权限的,猛然间我才明白可能就是权限的问题,下面是开放USB转串口的权限。Linux下的设备使用都需要使用s
2016-10-20 16:15:29 4507
转载 计算机网络基础
1、OSI,TCP/IP,五层协议的体系结构,以及各层协议OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3
2016-10-18 19:48:34 1193
原创 QT实现对数据文本保存的办法及其操作
QT文件类型(1)文本文件(QTextStream流):文件内容是可读的文本字符(2)数据文件(QDataStream流):文件内容是直接的二进制数据QT对文本操作方式1、QFile类,该类支持 对文件或者是数据文件的读写,提供的接口如下: ①qint64 read(char* data, qint64 maxSize); ②QByteArray read(qint64 maxSize);
2016-10-17 15:35:37 28756 1
原创 ACM图论算法-------安全网路问题
题目描述在一个网络中,我们称服务器S是关键服务器,如果至少有另外两部不同的服务器A和B,而A和B之间的所有联络都通过S。即若S奔溃,则A和B之间不能进行通讯。如果一个网络不包含关键服务器,则称它是安全的。服务器间所有的联络都是双向的,且一个服务器不允许直接与它自身相联,网络中可以存在单机和子网。如下图B就是一个关键服务器,只要B服务器一奔溃就会导致A,C出现问题。题目要求写一算法找出如下给定网络的分
2016-10-11 20:20:06 1085
原创 汉诺塔游戏算法研究
问题背景:有这样的游戏,我们称之为汉诺塔游戏,这个游戏的规则是,有n个不同大小的盘子和3根木桩A,B,C。一开始时候,所有的盘子都在第一个木桩,并按照最大的盘子在底部,最小的盘子在顶部。最后要求是把所有的盘子都一到C木桩上面,这个过程可以借助B木桩,但是整个过程都要按照大盘子在底下,小盘子在上的规则,不能出现大盘子在小盘子上面。减治法分析:由n=1的时候可以直接从A木桩搬到C木桩,故我们可以利用减治
2016-10-06 23:31:50 1538
转载 解凸包问题5种算法
转载原文:http://blog.csdn.net/bone_ace/article/details/46239187前言:首先,什么是凸包? 定义:对于平面上的一个点集合(有限或无限),如果以集合中任意两点P和Q为端点的线段都属于该集合,我们说这个集合是凸的!可以直接说任意两点直接是在改几何图形内部或者边界上则称为凸包。假设平面上有p0~p12共13个点,过某些点作一个多边形
2016-10-05 16:40:08 3718
原创 计算斐波那契数列
计算斐波那契数列算法的研究斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)
2016-10-04 23:32:24 1024
原创 求一个十进制正整数在二进制表示中的二进制数字个数
要求:算法求一个十进制正整数在二进制表示中的二进制数字个数实现有两种方式,一种是常规的做法,另外一种是利用递归。常规的做法,利用十进制转换为二进制的算法是K除法(k表示十进制要化成多少进制)int countBinary(int n){int Count = 1;while(n > 1){Count += 1;n = n/2;}return C
2016-10-03 23:25:28 3155
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人