C++
andyweike
不怕路太远找不到终点,就怕两个世界画不成一个圆。(本博客的目的主要是方便自己查看,不免内容结构随意,博友可选择参考)
展开
-
void
1. void指针 void指针是空类型的指针,它不指向任何类型,仅仅是一个地址。因此void指针不能进行指针运算,也不能直接取其指针所指向的数据的值。 可以将其它类型的指针赋给void指针,但当将void指针赋给其它类型的指针时,必须进行强制类型转换。 2. delete void* delete void指针指向的对象时,本身不会泄露内原创 2009-08-01 19:32:00 · 711 阅读 · 0 评论 -
基本的函数的实现
1.char *strcpy(char *strDest, const char *strSrc) { if ( strDest == NULL || strSrc == NULL) return NULL ; if ( strDest == strSrc) return strDest ; char *tempptr原创 2009-05-09 17:12:00 · 694 阅读 · 0 评论 -
内存模型
1.存储持续性:描述数据在内存中的保留时间。 自动存储持续性: 静态存储持续性: 动态存储持续性:2.作用域:描述名称在翻译单元(文件)的可见范围。 声明区域 declaration region:可以在其中进行声明的区域。 潜在作用域 potential scope:从声明点开始,到其声明区域的结尾。变量对程序而言可见的范围被称为作用域scope。原创 2011-02-22 14:50:00 · 546 阅读 · 0 评论 -
浮点数,编译器位扩展
float会有误差,比如赋了float a=0;a是有可能是0.000000001的.MSDN中定义了一个这样的值 FLT_EPSILON 1.192092896e-07F if(x > -0.000001 && x 2.编译器位扩展#ifndef HelloMac_Header_h#define HelloMac_Header_htyped原创 2009-05-25 17:45:00 · 750 阅读 · 0 评论 -
url编码
能查网http://www.nengcha.com/在线汉字编码查询http://bianma.supfree.net/关于URL编码http://www.ruanyifeng.com/blog/2010/02/url_encoding.html注意当post请求时,如[ASIHTTPRequest addPostValue:@"value"原创 2011-06-13 18:25:00 · 1723 阅读 · 0 评论 -
友元
友元类 : 当希望类B可以访问类A的私有成员时,可以将类B声明为类A的友元类。在类A的头文件中声明:friend class B; 类B是友元类,类B是类A的友元类。如果类B中有类A对象的够本,则类B对象可以访问类A中的隐藏信息(包括私有成员和保护成员)(1) 友元关系不能被继承。(2) 友元关系是单向的,不具有交换性。若类B是类A的友元,类原创 2013-03-06 15:54:05 · 706 阅读 · 0 评论 -
指针
1. 32位系统中,指针的长度是4字节,即使是char* p,sizeof(p)的值也是4. 对指针进行加1操作,得到的是下一个元素的地址,而不是原有地址值直接加1。所以,一个类型为 T 的指针的移动,以 sizeof(T) 为移动单位。2. main(){ int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1原创 2009-05-16 10:04:00 · 683 阅读 · 0 评论 -
编码规范,objective-c编码规范
参考了>1.匈牙利命名 和 不要盲目使用匈牙利命名命名规范是程序书写规范中最重要也是最富争议的地方,自古乃兵家必争之地。命名规范有何用?四个字:名正言顺。好的舞鞋是让舞者感觉不到其存在的舞鞋,坏的舞鞋是让舞者带着镣铐起舞。匈牙利命名法的成本:匈法的表现形式为给变量名附加上类型名前缀,例如:nFoo,szFoo,pFoo,cpFoo分别表示整型变量,字符串型变量,指针型变量和常指针型原创 2009-12-14 12:04:00 · 1003 阅读 · 0 评论 -
检测内存泄露
程序结束时,操作系统会回收程序占用的资源.但是,只要程序还在运行,如果不进行清理,资源最终可能被耗尽. 1.VC内存泄露检查工具:Visual Leak Detector 首先从网站上下载1.0版本的zip包,解压之后得到vld.h, vldapi.h, vld.lib, vldmt.lib, vldmtdll.lib, dbghelp.dll等文件。将.h文件拷贝到Visual C+原创 2009-12-19 17:22:00 · 970 阅读 · 0 评论 -
一些错误
1.cannot access private member declared in class 'CObject'private: CObject(const CObject& objectSrc); // no implementation void operator=(const CO原创 2010-07-04 03:41:00 · 567 阅读 · 0 评论 -
线程,同步
1. MFC应用程序中的线程有两种类型:用户界面线程(User Interface Thread)和工作者线程(Worker Thread)两大类。用户界面线程可以产生自己的窗口并负责处理相关的窗口消息,拥有单独的消息队列,能够对事件和用户输入做出响应。工作者线程适用于处理后台任务,而不影响用户对应用程序的使用。工作者线程仅仅由一个函数体实现,其实现简单,便于编程者控制,适用于一些费时的后原创 2010-12-17 14:38:00 · 615 阅读 · 0 评论 -
语法
1.c++融合了3种不同的传统编程:过程性语言传统,面向对象语言传统,通用编程传统。c++强调的是实用价值,不是意识形态方法。 过程性编程强调的是算法,OOP强调的是数据。 美国国家标准局ANSI和国际标准化组织ISO一起创建了联合组织ANSI/ISO,致力于制定C++标准。 最后的C++国际标准ISO/IEC 14882:1998获得了ISO,IEC(国际电工技术委员会)原创 2009-06-14 18:08:00 · 669 阅读 · 0 评论 -
字节序
1. #include u_long PASCAL FAR htonl( u_long hostlong); u_long PASCAL FAR ntohl( u_long netlong); htonl(),在传输前,将一个无符号长整形数从主机字节顺序转换为网络字节顺序。 ntohl(),在解析时,将一个无符号长整形数从网络字节顺序转换为主机字节顺序。原创 2009-05-17 22:30:00 · 709 阅读 · 0 评论 -
1.数学函数,math.h
1.数学函数,math.h取整:double floor ( double );float floorf ( float );取平方根: double sqrt( double );反余弦函数:double acos( double );宏:M_PI, 三角函数操作的是弧度,而非角度.。把角度转化为弧度:弧度=角度*Pi/180;原创 2010-01-02 23:07:00 · 665 阅读 · 0 评论 -
stl
1.list是链表,不是数组,所以STL中的list不能够直接通过索引取值。2.vector模板类是数组的一种类表示,是最简单的序列类型,除非其它类型的特殊优点能够更好的满足程序的需要,否则应默认使用这种类型。 vector 是一个类模板。不是一种数据类型。 vector是一种数据类型。3.11个容器类型分别是序列:deque,list,queue,priority_que原创 2010-01-27 23:35:00 · 485 阅读 · 0 评论 -
字节对齐
1.计算机存储系统中以Byte为单位存储数据,不同数据类型所占的空间不同,如:整型(int)数据占4个字节,字符型(char)数据占一个字节,短整型(short)数据占两个字节,等等。计算机为了快速的读写数据,默认情况下将数据存放在某个地址的起始位置,如:整型数据(int)默认存储在地址能被4整除的起始位置,字符型数据(char)可以存放在任何地址位置(被1整除),短整型(short)数据存储原创 2009-05-17 21:40:00 · 471 阅读 · 0 评论 -
瘦模板
1.瘦模板的设计方法. 参看Symbian中RArray的头文件: 在通用基类RArrayBase中实现必要的逻辑代码,但是在RArrayBase中使用非类型安全的TAny*指针,因为为类型不安全的,所以都要放在protected块中; 在派生类中使用模板,以达到类型安全的目的; http://www.cnblogs.com/felixyeou/archive/原创 2009-08-13 09:28:00 · 480 阅读 · 0 评论 -
c++类型转换
1.(1)static_cast ( expression ) --相对于动态转换,该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查,所以原创 2009-08-13 09:13:00 · 480 阅读 · 0 评论 -
com
1.comhttp://www.donews.net/Grandia/archive/2005/02/07/270979.aspx 2.wab32.dll:Microsoft Address Book DLL,是微软Microsoft地址薄相关文件,用于储存Outlook和Outlook Express的Email邮件地址和其它联系信息。可能安装于C:/Program Files/原创 2010-01-19 14:32:00 · 431 阅读 · 0 评论 -
引用
1.父类引用转换为子类引用 ((CSubClass&)parentObj).SubFunc(); 2.RPointerArray& CPhoneBook::UngroupedContactArray() const { return iUngroupedContactArray; }会报 illegal implicit conversion from const RP原创 2009-12-10 14:53:00 · 849 阅读 · 0 评论 -
dll
1.DLL有两种调用方法: (1).用LoadLiabrary调用,不用注册。 (2).用CoCreateInstance,通过CLSID,必须注册,目录没关系,只是移动位子以后,必须重新注册。 2.如果DLL是COM组件的话,一定要注册;如果是一般的DLL,不用注册。 DLL在哪个目录并不重要,只要调用它的程序找得到就可以了。 3.注册COM时,在注册表中原创 2010-02-12 00:34:00 · 682 阅读 · 0 评论 -
MFC
1.MFC在线教程 http://www.vczx.com/tutorial/mfc/mfc.php2.在VC2005中,为子对话框添加OnInitDialog函数。打开该子对话框类的头文件,在头文件的类的声明区里按Alt+Enter调出属性窗口,在属性窗口的工具栏里找到Overrides,点击它会切换到重写方法列表界面,在这个列表里找到OnInitDialog,点后面的下拉组合框原创 2009-12-16 15:00:00 · 595 阅读 · 0 评论 -
文件
1.CFile类操作文件默认的是Binary模式,CStdioFile类操作文件默认的是Text模式。在Binary模式下我们必须输入/r/n,才能起到回车换行的效果,/r只是回车(回到当前行的第一列),/n只是换行(到达下一行的当前列)而在Text模式下/r的工作是自动完成的,当我们写一个/n的时候,系统会自动帮我们在其前面加上一个/r,然后保存到文件里。原创 2009-12-29 22:03:00 · 490 阅读 · 0 评论 -
extern C
extern C原创 2011-01-03 23:45:00 · 429 阅读 · 0 评论 -
jni
jni原创 2011-03-10 10:03:00 · 732 阅读 · 0 评论 -
操作符重载
操作符重载原创 2011-05-04 23:14:00 · 527 阅读 · 0 评论 -
图形库
http://www.cnblogs.com/Kane_zzt/archive/2008/08/19/1271793.html AGG,全名:Anti-Grain Geometry,是一个开源的、高效的2D图形库,它的网站:http://www.antigra原创 2011-07-05 20:17:14 · 540 阅读 · 0 评论 -
ActiveX控件
容器应用程序:其中可以嵌入或链接对象的应用程序。服务器应用程序:是创建对象,并且当对象被双击时,可以被启动的应用程序。例如在word中嵌入一个或链接一个Excel表格对象,excel就是拥有这个表格对象的服务器应用程序,word则是可以容纳这个表格的容器应用程序。原创 2011-07-09 20:40:16 · 533 阅读 · 0 评论 -
Base64
Base64原创 2011-05-06 11:55:00 · 516 阅读 · 0 评论 -
const
1. 使用返回的const引用函数原型:const RArray& CIapUtil::GetIapList() const; 使用:(1)RArray iaps=iaputil->GetIapList();在执行iaps.Close()后,再删除iaputil时,析构函数中的iIapNodeArray.Close()报空指针异常。若不执行iaps.Close(),原创 2009-08-04 10:28:00 · 565 阅读 · 0 评论 -
.Net Framework
.Net Framework(1)第一部分 .Net Runtime也被称为CLR,公共语言运行时:Common Language Runtime。最初创建.Net Framework Runtime 是在台式机上运行,后来它被压缩并托管到web浏览器内,叫做Silverlight。所以现在如果在浏览器内安装了Silverlight插件,就可以编写运行在浏览器内的应用程序,此时CLR被改叫原创 2010-03-24 18:49:00 · 1076 阅读 · 0 评论