随笔分类 -  C++

摘要:一、前言书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 Excel 呢?启动后,又如何让 Excel 自己去读入、解析、显示 xls 数据呢... 阅读全文
posted @ 2014-11-06 09:58 西山翠冷 阅读(1135) 评论(0) 推荐(0)
摘要:如何设置:工具栏“生成”→“配置管理器”→“活动解决方案配置”对于VS2008的初次使用者来说,常会遇到的编译问题时,Debug版本运行正常,但在Release版本则不稳定或无法运行。以下是对Debug版本与Release版本本质区别的分析:Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常 阅读全文
posted @ 2014-04-10 17:28 西山翠冷 阅读(171) 评论(0) 推荐(0)
摘要:测试:#include #include class KPoint{public: KPoint(int x, int y){ nx = x; ny = y; }private: int nx; int ny;};int main(int argc, char *argv[]){ QApplication a(argc, argv); //Method One KPoint kp(3,4); qDebug() << &kp; qDebug() << sizeof(kp); //Method Two KPoint *p = new KPoint(3,4); qDe 阅读全文
posted @ 2014-03-14 14:17 西山翠冷 阅读(378) 评论(0) 推荐(0)
摘要:(1) 在实际的程序中,引用主要被用做函数的形式参数--通常将类对象传递给一个函数.引用必须初始化. 但是用对象的地址初始化引用是错误的,我们可以定义一个指针引用。1 int ival = 1092;2 int &re = ival; //ok3 int &re2 = &ival; //错误4 int *pi = &ival;5 int *&pi2 = pi; //ok(2) 一旦引用已经定义,它就不能再指向其他的对象.这就是为什么它要被初始化的原因。(3) const引用可以用不同类型的对象初始化(只要能从一种类型转换到另一种类型即可),也可以是不可寻 阅读全文
posted @ 2014-02-24 12:55 西山翠冷 阅读(226) 评论(0) 推荐(0)
摘要:因为C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包裹),这样对应的就有了两套字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串TCHAR是通过define定义的字符串宏因为C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包裹),这样对应的就有了两套字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串微软将这两套字符集及其操作进行了统一,通过条件编译(通过_UNICODE和UNICODE宏 阅读全文
posted @ 2013-12-26 15:13 西山翠冷 阅读(172) 评论(0) 推荐(0)
摘要:地址:http://www.cppblog.com/dyj057/archive/2005/09/20/346.htmlSingleton模式是常用的设计模式之一,但是要实现一个真正实用的设计模式却也不是件容易的事情。1.标准的实现classSingleton{public:staticSingleton*Instance(){if(0==_instance){_instance=newSingleton;}return_instance;}protected:Singleton(void){}virtual~Singleton(void){}staticSingleton* _instanc 阅读全文
posted @ 2013-12-26 14:52 西山翠冷 阅读(246) 评论(0) 推荐(0)
摘要:1.模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,inty);{return(x>y)?x:y ;}//函数2.float max(float x,floaty){return (x>y)? x:y ;}//函数3.double max(double x,doubley){return (c>y)? x:y ;}但如果在主函数中,我 阅读全文
posted @ 2013-12-26 14:28 西山翠冷 阅读(175) 评论(0) 推荐(0)