C++
文章平均质量分 55
awayer__
这个作者很懒,什么都没留下…
展开
-
AES加密算法(C++)
转自:http://mingcn.cnblogs.com/ 先搞定AES算法,基本变换包括SubBytes(字节替代)、ShiftRows(行移位)、MixColumns(列混淆)、AddRoundKey(轮密钥加)其算法一般描述为明文及密钥的组织排列方式ByteSubstitution(字节替代)非线性的字节替代,单独处理每个字节:求该字节在有限域GF(2转载 2012-08-08 15:15:00 · 1194 阅读 · 0 评论 -
如何将C/C++项目打包成setup文件
1.打开要打包的“.lsn”文件。 2.菜单栏“文件”--->“添加”--->“新建项目” 3. 点击“项目类型”--->“其他项目类型”--->“安装和部署”,再在“模板”点击“安装项目”,点击“确定” 。4.在“文件系统”中点击“应用程序文件夹”,右边框变空白,在空白处右击鼠标,“添加”--->点击“项目输出”,出现一个对话框,点击“确定” 。 5.再右击鼠标,“添加”-原创 2012-08-13 13:24:49 · 5084 阅读 · 2 评论 -
形参选择:值/引用/指针
1.对于使用传递的值而不打算对该值进行修改的函数:a.数据对象很小,如果内置数据类型(如int等)则按值传递;b.如果数据对象是数组,那只能选择指针参数;c.如果数据对象是较大的结构,则使用const指针或const引用都可以;d.如果数据对象是类对象,使用const引用。2.对于需要修改调用函数传入的数据:a.如果数据对象是内置类型,采用指针传递;b.数据对象是数组,抱歉,只能选择原创 2012-08-16 16:59:48 · 513 阅读 · 0 评论 -
Effective C++(一)尽量使用const和inline来替代#define
这个条款等价于“尽量使用编译器而不用预处理”改进1:#define PI 3.1415在C++的编译器中,看不到PI这个符号名,因为源码在进入编译器之前就已经被预处理了。PI不会进入符号列表。涉及这个常量的报错,编译器会指向3.1415,而不是PI,会给我们在调试时带来麻烦。解决的方法:不用宏,定义一个const常量const double PI = 3原创 2012-10-08 10:26:49 · 362 阅读 · 0 评论 -
Effective C++(十一):为需要动态分配内存的类声明一个复制构造函数和一个赋值操作符
首先看一个例子://一个很简单的string类class string{ public: string(const char* value); ~string; ... private: char* data;};string::string(const char* value){ if(value){ data = new char[strlen原创 2012-10-08 17:35:40 · 649 阅读 · 0 评论 -
clasa和struct的区别
struct是C语言的关键字。C++中引如了class,并且为了和C的兼容性,保留了struct关键字,但是C语言中的struct和C++中的struct和class有很大的区别。在这里,区别分为两种,一是:C中的struct和C++中的class的区别;二是:C++中的struct和C++中的class的区别我们来看第一种情况:C是一种过程化语言,struct原创 2012-09-20 20:35:27 · 846 阅读 · 0 评论 -
设计模式:工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创转载 2012-09-20 20:38:49 · 373 阅读 · 0 评论 -
双调欧几里得旅行家问题
内容提要:•问题背景•问题分析•问题解决•复杂分析•附录代码问题背景:•欧几里得旅行商问题是对平面给定的n个点确定一条连接各点的最短闭合路径旅程的问题。这个问题的一般形式是NP完全的,故其解需要多于多项式(n^k)的时间。•J. L. Bentley建议通过只考虑双调旅程来简化问题,这种旅程即为从左点开始,严格地从左到右直至最右点,然后严格地从右原创 2012-10-30 01:24:20 · 1487 阅读 · 0 评论