随笔分类 -  C++

语言
C++-不要在构造和析构函数中调用虚函数
摘要:在实习的单位搞CxImage库时不知为什么在Debug时没有问题,但是Release版里竟然跳出个Pure virtual function call error!啥东西呀,竟然遇上了,就探个究竟吧!MSDN上的解释http://forums.msdn.microsoft.com/zh-CN/clr... 阅读全文

posted @ 2013-11-01 15:35 醉清风JM 阅读(252) 评论(0) 推荐(0)

C++-模板的声明和实现为何要放在头文件中
摘要:源: http://blog.csdn.net/lqk1985/archive/2008/10/24/3136364.aspx如何组织编写模板程序发表日期: 1/21/2003 12:28:58 PM发表人: Nemanja Trifunovic前言常遇到询问使用模板到底是否容易的问题,我的回答是:... 阅读全文

posted @ 2013-11-01 15:31 醉清风JM 阅读(2246) 评论(0) 推荐(1)

C++-函数模板特化如何避免重复定义
摘要:我正在用一个基于模板的库源代码,该库包含一些针对特定类型的模板函数特化。类模板,函数模板和模板函数特化都在头文件中。我在我的.cpp文件中 #include 头文件并编译链接工程。但是为了在整个工程中使用该库,我将头文件包含在 stdafx.h 中,结果出现特化模板函数的符号多重定义错误。我要如何组... 阅读全文

posted @ 2013-11-01 13:27 醉清风JM 阅读(8787) 评论(0) 推荐(0)

C++-sizeof和strlen的区别
摘要:一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小... 阅读全文

posted @ 2013-09-05 07:34 醉清风JM 阅读(269) 评论(0) 推荐(0)

【C++】String类实现
摘要://string.h#include using namespace std;class String;istream& operator>>( istream&, String& );ostream& operator#include #include #include using namespa... 阅读全文

posted @ 2013-06-20 10:28 醉清风JM 阅读(287) 评论(0) 推荐(0)

C++-IO操作之从文件读取输出到标准输出
摘要:#include int main(){ cout >file_name; //打开文件copy.out用于用户输入 ifstream inFile( filename.c_str() ); if ( !inFile ) { cerr << "unable to open ... 阅读全文

posted @ 2013-03-27 23:06 醉清风JM 阅读(224) 评论(0) 推荐(0)

【C++】new和malloc的区别
摘要:new和malloc的区别 2008-06-08 22:041、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、... 阅读全文

posted @ 2009-12-02 22:04 醉清风JM 阅读(246) 评论(0) 推荐(0)

【C++】const成员函数的作用
摘要:class Pig { long _lx; public: Pig(const long& _x = 9) : _lx(_lx){} void show(void) { cout < < "Pig的成员_lx: " < < _lx < < endl; } }; 编译器会对上述声明中的sh... 阅读全文

posted @ 2009-11-30 22:15 醉清风JM 阅读(802) 评论(0) 推荐(0)

【C++】指针和数组之区别
摘要:指针和数组之区别数组名可以当作一个指针来用,数组名可以用*取其中的值,指针也可以用[]解引用,但它们还是有一些区别的,我知道的有3个:1.数组名不可以作为左值,关于这一点,可以将数组名理解为指针常量。int a[10],*b;b是一个指针型变量,a是一个数组。b是左值,可以存在b=a;a不是左值,不... 阅读全文

posted @ 2009-11-30 22:05 醉清风JM 阅读(244) 评论(0) 推荐(0)

【C++】指针与引用的区别
摘要:More Effective C++:指针与引用的区别2006-09-09 07:00作者:出处:CSDN责任编辑:方舟 指针与引用看上去完全不同(指针用操作符’*’和’->’,引用使用操作符’.’),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什... 阅读全文

posted @ 2009-11-30 21:57 醉清风JM 阅读(185) 评论(0) 推荐(0)

【C++】public,private,protected
摘要:公有成员public member 在程序的任何地方都可以被访问实行信息隐藏的类将其public 成员限制在成员函数上这种函数定义了可以被一般程序用来操纵该类类型对象的操作私有成员private member 只能被成员函数和类的友元访问实行信息隐藏的类把其数据成员声明为private被保护成员pr... 阅读全文

posted @ 2009-11-30 21:29 醉清风JM 阅读(264) 评论(0) 推荐(0)

【C++】extern "C"的作用
摘要:因为C、C++的编译器对函数名的修饰不同,为了保证在C、C++中编写的函数能够被互相调用,所以采用这个链接指示符以int func(int, int)为例,C的编译器会将名字改编为_func, 而C++的编译器会改编为_func_int_int 或_funcii(各编译器不同)。如果这个函数在C中编... 阅读全文

posted @ 2009-08-02 17:27 醉清风JM 阅读(1199) 评论(0) 推荐(0)

【C++】CString, BSTR, LPCTSTR之间得关系和区别
摘要:CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;type... 阅读全文

posted @ 2009-02-25 11:30 醉清风JM 阅读(1281) 评论(0) 推荐(0)

导航