
程序设计
文章平均质量分 77
chls
这个作者很懒,什么都没留下…
展开
-
C++实现通用的文件(万能)加密方案——包含源码
最近做了一个项目,里面有一个小需求就是对处理过的文件进行加密,加密之后无法打开。我最先想到的是异或加密,因为需要速度,并且对加密的安全性要求不高。1、异或加密原理异或密码(simple XOR cipher)是密码学中一种简单的加密算法,是指对信息进行异或操作来达到加密和解密目的。按这种逻辑,文本串行的每个字符可以通过与给定的密钥进行按位异或运算来加密。如果要解密,只需要将加密后的结果与密钥再次进行按位异或运算即可。说的通俗一点,就是一个字符异或一个密钥字符进行加...原创 2022-05-29 12:09:11 · 13939 阅读 · 6 评论 -
类对象初始化和Initializer_list的
在C++11之前,对于一个值或者一个对象的初始化有很多种方法,我们会用到()、{ }、= 来进行初始化的工作,例如:int a = 0;int array[5] = {1,2,3,4,5};vector<int> first;//初始化一个空的vectorvector<int> second(5,10);//初始化5个元素的vector对象,并全部赋值为10vector<int> third(second.begin(),second.end());//利用原创 2021-12-17 18:49:23 · 1079 阅读 · 0 评论 -
is_abstract实现及思考
要实现is_abstract,需要思考abstract类的特性:无法实例化,也无法定义类对象数组 借助模板特化进行类型匹配 需要借助元编程(需要在编译时确定结果) 借助SFINAE让模板推导能够正确1、数组类型参数和模板函数的匹配注意,数组与指针的类型是不一样的!#include <iostream>#include <type_traits>using namespace std;template<class T>voi...原创 2021-12-17 15:48:47 · 467 阅读 · 0 评论 -
c++考试参考题
c++考试参考题1、对c++和c语言的兼容性,描述正确的是 (c++兼容c )2、c++中使用流进行输出,其中输出到屏幕的对象是(cin)3、对使用关键字new所开辟的动态内存空间,释放时必须使用(delete)4、class成员声明时没有使用private关键字,则默认是(private)5、如果一个类没有定义任何构造函数,下列描述正确的是()编译期总是会自动生成一个不带参数的构造函数6、一个类可以有几个析构函数(1个)7、int Func(int, int)不可以与下列哪个函数构成原创 2021-12-10 16:45:37 · 6115 阅读 · 0 评论 -
CPU Cache
无论你写什么样的代码都会交给 CPU 来执行,所以,如果你想写出性能比较高的代码,这篇文章中提到的技术还是值得认真学习的。另外,千万别觉得这些东西没用,这些东西非常有用,十多年前就是这些知识在性能调优上帮了我的很多大忙,从而跟很多人拉开了差距……基础知识首先,我们都知道现在的 CPU 多核技术,都会有几级缓存,老的 CPU 会有两级内存(L1 和 L2),新的CPU会有三级内存(L1,L2,L3 ),如下图所示:其中: L1 缓存分成两种,一种是指令缓存,一种是数据缓存。L2 缓.转载 2021-11-30 10:20:18 · 624 阅读 · 0 评论 -
vscode连接远程服务器(傻瓜式教学)
如何在远程服务器上进行编码呢?vscode!!!当然,还有很多其他选择,例如sublime、ultraedit等等,这里我们用非常流行的vscode来连接ubuntu服务器做讲解!1、下载vscode百度搜索vscode(注意不是visual studio),进入vscode官网进行下载。2、安装ssh插件根据你的操作系统选择对应的版本进行下载和安装。安装完成之后,启动vscode,选择左侧Extensions 选项卡,在输入框搜索 re...原创 2021-09-30 17:14:59 · 262823 阅读 · 63 评论 -
设计泛型粒子系统
在我们制作粒子系统的过程中,我们时常为如何设计粒子的结构而发愁,因为不同的粒子可能具有不同的属性,我们如何使用一种通用的设计方法来通吃所有的粒子系统呢?我在网上找到了一篇《泛型粒子系统设计》的文章,里面使用了Boost库和C++的模板来进行设计,这也许是一个很好的方法,至少对我们设计粒子系统有个很好启发左右。 下载地址:http://download.youkuaiyun.com/sour原创 2008-11-03 11:33:00 · 408 阅读 · 0 评论