![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 78
qq_19408603
这个作者很懒,什么都没留下…
展开
-
自己编写c++代码对软件加密
对一个自己开发的程序进行加密,主要思路是先获取目标机器的机器码(mac地址或者cpu的序列号)。然后写一个简单的加密算法对机器码进行加密,并输出一个license文件。自己开发的程序就读取目标jiq...原创 2021-06-03 15:49:27 · 3212 阅读 · 0 评论 -
c++ 使用lambda表达式实现闭包
之前在书上看了java使用内部类的方式实现闭包,然后我用c++仿照实现了下,c++没有内部类,所以不得不传入类的指针。这种方式很麻烦,而且没有js的那种类似于静态变量累加的特性,后面发现使用c++ lambda表达式可以达到js的效果。lambda表达式中的&非常有用,可以让作用域扩展到类内所有成员,包括局部和类成员变量。这里的b 尽管是一个局部变量,但是在lambda表达式的作用下,它类原创 2017-08-08 08:42:43 · 838 阅读 · 0 评论 -
使用stl实现快速排序
快速排序方法思路是:每次使用第一个元素作为分割线,然后对后面的元素进行分割。然后再对分割的两段(左边和右边)再重复之前的方式,选择两小段的第一个元素进行分割,不断迭代,直到完全排序。本文在上述思路下利用stl中的list作为容器,用到了list的splice分割,和算法中的partion算法的实现如下:templatestd::list quicksort(std::lis原创 2017-08-08 08:48:22 · 1634 阅读 · 0 评论 -
c++实现引用计数智能指针
主要的思路是使用一个int* 的指针进行计数,在构造函数时候设置为0,并加1(或者直接设置为1)。然后赋值和复制构造时候把int* 和数据保存的指针T* mP传到另外一个类中。在赋值的时候要注意左边的指针是否已经有数据了,有数据就要先-1,然后再进行赋值。templateclass ref1{public: explicit ref1(T* p = NULL) : m原创 2017-08-19 14:08:48 · 340 阅读 · 0 评论