
c++
文章平均质量分 69
lw02nju
这个作者很懒,什么都没留下…
展开
-
auto_ptr 与 delete 的区别
template class auto_ptr {public: typedef T element_type; explicit auto_ptr(T *p = 0) throw(); auto_ptr(const auto_ptr& rhs) throw(); auto_ptr& operator=(auto_ptr& rhs) throw(); ~auto转载 2009-07-20 17:31:00 · 958 阅读 · 1 评论 -
What’s associated between C and C++ -- POD types
TheISO C++ Standard (ISO14882) has been on and around for almost 10 yearsby now, and the standard placed a huge gap between C and C++. AlthoughC++ was said to be acting, in some aspects an转载 2009-08-19 23:50:00 · 555 阅读 · 0 评论 -
VC中的delete和delete[]
VC中的delete和delete[]很多人在考虑delete和delete[]总是区分基本数据类型和用户自定义类型 但是我发现并非如此int * p = new int[100];我们调用delete p和delete[] p并没有任何问题,也检查不出内存泄漏class A{public: int a; A( ) { }};A * p = new A[100];转载 2009-06-24 10:41:00 · 1480 阅读 · 0 评论 -
生死疆界(上)--- 在new与delete之间
生死疆界(上)--- 在new与delete之间作者:土豆问题源自一段简单的代码:void main(){ char *p = new char; cin>>p; cout<<p[2]; delete p;} 在以上代码中,如果你输入:abcd,那么如你所望,你会看到"正确"的输出"c"。但是会有错误提示出现: Debug Error!Program:转载 2009-06-24 13:35:00 · 628 阅读 · 0 评论 -
多继承的虚指针
网上见到一篇:们首先看一下它的简化版本dynamic_castvoid *>。根据标准5.2.7-7,dynamic_castvoid *>会将当前指针转化为指向实际对象(most derived object)的指针。比如说: class T1 {public: virtual ~T1() {}}; cla原创 2009-09-07 17:45:00 · 1549 阅读 · 0 评论 -
有符号数与无符号数之间运算问题
有符号数与无符号数之间运算问题以下实验均在virual c++6中运行通过这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此,从这个意义上讲,无符号数的运算优先级要高于有符号数,这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。 首先进行一个实验,分别定义一个转载 2009-09-17 13:17:00 · 744 阅读 · 0 评论 -
使用stringstream对象简化类型转换
使用 std::stringstream,小心 内存! 适时 清空 缓冲 …… 收藏 document.body.oncopy = function() { if (window.clipboardData) { setTimeout(转载 2009-09-19 10:20:00 · 1779 阅读 · 0 评论 -
error LNK2005
今天一大早,VC就给我来了个下马威,昨天还老老实实工作着的程序,竟然出现58个错误,而且还都是类似的LNK2005!满满的一屏error,这对于初为程序员的我,那简直是致命的,心灵受的打击啊~~~ 赶紧Google,发现各位程友们也被这困扰着,不过还是有高手支招的,以下摘录: 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个转载 2009-09-25 23:49:00 · 1454 阅读 · 1 评论 -
使用ACE_CDR类进行网络编解码(5-3)
这次我们来处理边界调整的问题。留意下面的代码片段:view plaincopy to clipboardprint?char buf[6] = {0}; ACE_OutputCDR ocdr(buf, 6, ACE_CDR::BYTE_ORDER_BIG_ENDIAN); ACE_CDR::ULong temp1 = 88;转载 2009-09-25 07:21:00 · 1031 阅读 · 0 评论 -
ACE_CDR::mb_align(ACE_Message_Block * mb)使用问题
ACE_CDR::mb_align(ACE_Message_Block * mb)用于对齐mb内部数据块ACE_Data_Block所拥有的内存的起始地址,它的实现大致如下: voidACE_CDR::mb_align (ACE_Message_Block * mb){ char * co转载 2009-09-25 07:22:00 · 1267 阅读 · 0 评论 -
POD Types Revisited
Some members of the standards committee feel that the current definition ofPOD typesis too strict. They’re proposing changes to the definition of POD classesto solve some of the problem that the转载 2009-08-20 00:45:00 · 675 阅读 · 0 评论 -
VC6.0如何让new失败后抛出异常【转】
http://www.enet.com.cn/article/2005/1013/A20051013461516.shtml【简 介】 标准C++规定new一个对象时如果分配内存失败就应抛出一个std::bad_alloc异常,如果不希望抛出异常而仅仅传回一个NULL指针,可以用new的无异常版本:new(nothrow)。 C标准库一起使用,比如libcp.lib与li转载 2009-08-10 12:40:00 · 923 阅读 · 0 评论 -
COM的数据类型BSTR,Variant
COM的特性是语言中立、硬件结构中立,很明显,它需要一个语言中立、硬件结构中立的文本数据类型。 OLECHAR和BSTR就是干这个用的。 OLECHAR:在编译源代码的目标操作系统上COM使用的字符类型。 对于Win32操作系统,这是wchar_t字符类型。 对于Win16操作系统,这是char字符类型。 对于MacOS,这是char类型。 对于Solaris OS,这是w转载 2009-07-31 08:58:00 · 852 阅读 · 0 评论 -
写一个简单的可变参数的C函数
写一个简单的可变参数的C函数 下面我们来探讨如何写一个简单的可变参数的C函数.写可变参数的 C函数要在程序中用到以下这些宏: void va_start( va_list arg_ptr, prev_param ); type va_arg( va_list arg_ptr, type ); void va_end( va_list arg_ptr ); va在这里是variable-转载 2009-07-16 14:52:00 · 760 阅读 · 2 评论 -
_declspec(dllexport)
我相信写WIN32程序的人,做过DLL,都会很清楚 __declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。但是,MSDN文档里面,对于 __declspec(dllimport)的说明让人感觉有点奇怪,先来看看MS转载 2009-07-22 12:13:00 · 1654 阅读 · 2 评论 -
字符串前面L的意思
L是vc中的宏,将ANSI字符串转换成unicode的字符串。 AANSI character string.WUnicode character string.TGeneric character string (equivalent to W when _转载 2009-07-27 14:58:00 · 862 阅读 · 0 评论 -
gets
【2】头文件:stdio.h 【3】功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在str指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。 【4】注意:本函数可以无限读取,不会判断上限,所以程序员应该确保str的空间足够大,以便在执行读操作时不发生溢出。 【5】示例: #incl转载 2009-07-27 13:48:00 · 521 阅读 · 0 评论 -
ATL_NO_VTABLE详解
ATL_NO_VTABLE详解lostall我们可以注意到在用ATL编写COM组件时,在类前面都有一个宏ATL_NO_VTABLE,那么这个宏到底有什么作用呢?这个宏的定义如下:#define __declspec(novtable) ATL_NO_VTABLE;下面这段是MSDN中对这个宏的描述:This form of _declspec can be applie转载 2009-07-27 11:30:00 · 645 阅读 · 0 评论 -
_flushall对所有已经打开的流flush
Run-Time Library Reference _flushall Flushes all streams; clears all buffers. int _flushall( void ); Return Value转载 2009-07-27 13:43:00 · 1062 阅读 · 0 评论 -
VC中_T()的作用
Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。_T一般同字常数相关,如_T("Hello")。如果你编译一个程序为ANSI方式,_T实际转载 2009-07-27 12:31:00 · 523 阅读 · 0 评论 -
TL 中 USES_CONVERSION 的具体功能
document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text"); if (text && text.lengt转载 2009-07-27 13:32:00 · 698 阅读 · 0 评论 -
%s 与 %ls的区别
%s 与 %ls的区别 收藏 document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboa转载 2009-07-27 15:15:00 · 10513 阅读 · 4 评论 -
ACE 的初始化与关闭
一 ACE简介 ACE 是The ADAPTIVE Communication Environment 的简写。它是一个面向对象的、跨平台的、开放源码的网络编程基础设施框架。 ACE 是由Douglas C.Schmidt 博士主导开发的。学习ACE 可参考《C++ Network Programming》(两卷本)、《The ACE Programmers Guide》转载 2009-10-15 09:26:00 · 3293 阅读 · 0 评论