大端模式和小端模式的区别以及如何判断大小端

在计算中,字节顺序是指数字的二进制表示内的字节(或有时是位)的顺序。它也可以更普遍地用于指代任何表示的内部排序,例如数字系统中的数字或日期的部分。

在最常见的用法中,字节顺序表示多字节数字内的字节顺序,而大小端字节的排列顺序是相反的。我们常用的X86结构是小端模式,而KEIL C51则为大端模[……]

继续阅读

何为防盗链以及如何设置防盗链(宝塔设置防盗链)

我们在访问一些网站的时候,特别是一些博客网站,往往会看到一些图片加载不出来(一般就是一张裂开的图标样式),除服务器问题导致图片丢失外,还有一个原因防盗链起了作用,这就是所谓的盗链。要想了解防盗链,我们先来了解一下什么叫做盗链。

什么是盗链

盗链就是直接获取别人网页的资源链接在自己的网页上[……]

继续阅读

c++ windows固定到任务栏(应用程序或快捷方式)

将一些常用的应用程序固定到任务栏,可以方便我们使用时快速打开。下面就介绍一下使用c++固定到任务栏的几种方法。

方法一

使用ShellExecute接口,但是这个方法在win10已经无效了。

方法二

此方法在win10测试有效,按理来说其它环境应该也支持(xp是个奇葩,不[……]

继续阅读

排序算法-选择排序

选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。

时间复杂度

O(n²)

最坏情况合适发生?

数组顺序与需要的顺序正好相反。

步骤

排序算法-冒泡排序

冒泡排序也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由冒泡排序(英语:Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过[……]

继续阅读

排序算法-快速排序

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner lo[……]

继续阅读

堆和栈有什么区别?哪个比较快?

我们都知道,windows内存区域无外乎堆、栈、静态区、常量区,下面主要说一说堆和栈。

首先我们要注意一个容易混淆的点,我们经常会听人把堆栈连起来说,通常堆栈指的是栈,而不是堆。

什么是堆?

需要程序员自己申请,并指明大小。

什么是栈?

由编译器自动分配释放 ,存放为运[……]

继续阅读

c++为什么不能在构造函数里调用虚函数?

c++为什么不能在构造函数里调用虚函数?

c++的构造顺序先构造父类,然后构造子类,析构顺序相反。

如果在构造函数调用虚函数,例如:ClassB继承于ClassA,如果在ClassA的构造函数里调用虚函数,此时因为ClassB并没有构造,所以ClassB的成员都没有初始化,如果编译执行C[……]

继续阅读