摘要: C++中向系统申请堆内存的方法为使用new、new[]操作符,new申请单个对象的内存,new[]申请对象数组的内存。对应的delete、delete[]操作符将new、new[]操作符申请到的内存还给系统。使用new运算符的表达式被称为new表达式,相应的,使用delete运算符的表达式被称为de 阅读全文
posted @ 2014-11-29 17:56 vsuu 阅读(338) 评论(0) 推荐(0) 编辑
摘要: C++11 之后,C++的引用扩充为 非常量左值引用,常量左值引用,非常量右值引用,常量右值引用。什么是左值?什么是右值?左值、右值都是针对表达式而言的,左值是指表达式结束后依然存在的持久对象,右值是指表达式结束时就不存在的临时对象。一个区分左值、右值的便捷方法是:看能不能对表达式取地址,如果能,则... 阅读全文
posted @ 2014-11-12 15:57 vsuu 阅读(317) 评论(0) 推荐(0) 编辑
摘要: class base{ public: int y; int z; int x; base():x(1){} void output() { printf("%d\n",x); printf("%p\n",(void *)this); printf("%d\n",this->x); }};class der :public base{ public: int x; der():x(2){}};int main(int argc,char **argv){ base x; de... 阅读全文
posted @ 2012-08-30 18:23 vsuu 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 在编程中经常用到 using namespace std和 using std::cout,这两个语句似乎干的是一样的工作--减少要敲的字母,但仔细推敲下来,它们的语义差别还是挺大的。View Code #include<cstdio>namespace test{ void output(){puts("namespace");}}void output(){puts("no namespace");}int main(int argc,char **argv){ output();//print "no namespace&qu 阅读全文
posted @ 2012-08-23 22:34 vsuu 阅读(311) 评论(0) 推荐(0) 编辑
摘要: //最初实现的版本比lisp写的fact要慢很多(1/5的效率),多次优化后终于比lisp快了。还能怎么提高效率?// HugeInt.h: interface for the HugeInt class.#ifndef HUGEINT_H#define HUGEINT_H#include<iostream>#include<vector>class HugeInt{ enum {computebound=1000000000,computewidth=9}; typedef unsigned int eletype;public: HugeInt(); HugeI.. 阅读全文
posted @ 2012-08-21 09:47 vsuu 阅读(662) 评论(0) 推荐(0) 编辑
摘要: template<typename T>class BlackHoleIterator :public iterator<output_iterator_tag,T>{ typedef BlackHoleIterator<T> _Self;public: _Self &operator*(){return *this;} _Self &operator++(){return *this;} _Self &operator++(int){return *this;} _Self &operator=(const T &) 阅读全文
posted @ 2012-08-15 21:58 vsuu 阅读(119) 评论(0) 推荐(0) 编辑
摘要: utility: pair为具有两个public成员的类模板。 make_pair为一个模板函数,根据参数生成pair对象。 rel_ops为一个namespace,里面包含几个模板函数,可以由==、<推导出 !=、<=、>、>=,减少工作量。memory: auto_ptr智能指针类 1.内部指针操作: T* get()throw();返回指向的对象的指针 T* release()throw();返回指向的对象的指针,不再指向该对象 T* reset(T* =0)throw();指向另一个对象,之前指向的对象被delete掉 2.指针形为... 阅读全文
posted @ 2012-08-13 15:40 vsuu 阅读(196) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/code_see/article/details/6301768备注:1.系统环境变量中要有VC的环境变量,否则编译会进行不下去。include变量中添加D:\Program Files\Microsoft Visual Studio\VC98\ATL\Include;D:\Program Files\Microsoft Visual Studio\VC98\MFC\Include;D:\Program Files\Microsoft Visual Studio\VC98\Includelib变量中添加D:\Program Files\Microsof 阅读全文
posted @ 2012-08-13 09:14 vsuu 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 静态链接库、动态链接库都是代码库,不同点在于静态链接库在编译时被整合到可执行文件中,而动态链接库的代码不会被整合到可执行代码中。这一特点使动态链接库比静态链接库多了许多优点,如程序更改、升级方便。静态链接、动态链接是指动态链接库使用的两种方式。静态链接在可执行文件启动时加载动态链接库,动态链接则是由程序代码动态加载和卸载。所以动态加载相比静态加载有占用内存少等优点。写代码时静态加载比动态加载方便,但若动态库变了,调用库的一方必须重新编译。所以静态链接动态库就好像调用静态库一样,有差不多的优点和相应的缺点。 阅读全文
posted @ 2012-02-02 11:33 vsuu 阅读(346) 评论(0) 推荐(0) 编辑
摘要: CVM列表的结构由 4字节金额X + 4字节金额Y + 多个CVM入口组成,每个CVM入口2字节(CVM代码+CVM类型+CVM条件)。1.金额字节的格式为二进制,数字单位为分,货币单位由当前APPLICATION的货币代码决定。2.字节1最高位(位8)为0表示位6-位1的值只有PBOC2.0规定的取值,为1表示有自定义值。EMV规范中RFU。 位7为1表示此CVM失败,应用后续的,为0表示此CVM失败则CVM验证失败。 位6-位1表示CVM验证方法: 000000=CVM 失败处理 000001=卡片执行明文PIN 核对 000010=联机加密PIN 验证 0... 阅读全文
posted @ 2011-12-20 16:52 vsuu 阅读(921) 评论(0) 推荐(0) 编辑