C/C++
文章平均质量分 54
牛肉圆粉不加葱
这个作者很懒,什么都没留下…
展开
-
WIN_静态库与动态库的加载
<br /> <br />一. 静态库包括.lib和.h文件,在工程中使用静态库分为3步:<br /><1> 在工程中加入静态库,有两种方法:<br /> **方法一:项目设置中引用.lib,project-> setting-> link-> object/library modules中添加.lib;(需要在tools/options设置正确的引用路径)<br /> **方法二:在项目中直接加入lib,project-> add to project-> fil原创 2011-05-23 22:32:00 · 620 阅读 · 0 评论 -
C++引用的本质
1.引用不止是目标别名那么简单,它占有内存空间,它有值,它的值其实就是目标地址2.引用自身地址与目标地址并不相同该3.引用本质上就是值为目标地址的常量指针 From:http://hi.baidu.com/wudasgle/item/73a062c3f11a9121c710b2c6原创 2013-04-23 23:43:54 · 547 阅读 · 0 评论 -
STL之vectr
这几天看了侯捷的《STL源码剖析》的vector相关部分,做一些记录1.vector的内存排列与数组一样是连续的2.vector的迭代器本质就是特例类的指针,如vector::iterator即int*3.vector的size和容量并不相同,容量永远大于等于size;vector会申请多余的内存,以避免每次insert元素时申请释放内存已经拷贝的消耗4.当往vector中inse原创 2013-04-15 13:33:57 · 625 阅读 · 0 评论 -
HRESULT值意义
名称 说明 值S_OK 操作成功 0x00000000E_UNEXPECTED 意外的失败 0x8000FFFFE_NOTIMPL 未实现 0x80004001E_OUTOFMEMORY 未能分配所需的内存 0x8007000EE_INVALIDARG 一个或多个参数无效 0x80070057E_NOINTERFACE 不支持此接口 0x800040原创 2013-05-20 15:21:41 · 636 阅读 · 0 评论 -
printf
printf 编辑本段功能c语言中产生格式化输出的函数(定义在 stdio.h 中)。向终端输出(显示器、控制台等)编辑本段用法int printf(const char *format,[argument]);format 参数输出的格式,定义格式为:%[flags][width][.prec][F|N|h|l]type规定数据输出 方式,转载 2013-07-16 10:31:36 · 523 阅读 · 0 评论 -
代码规范
1.每个区段内的声明通常按以下顺序: typedefs 和枚举 常量 构造函数 析构函数 成员函数, 含静态成员函数 数据成员, 含静态数据成员2.为类中的函数加上const 限定符表明该函数不会修改类成员变量的状态(如class Foo { int Bar(char c) const; };).3.尽可能将函数声明为const.原创 2013-07-25 15:41:31 · 659 阅读 · 0 评论 -
i += 1; i++; ++i的区别
i += 1;_Myt& operator+=(difference_type _Off){ // increment by integer*(_Mybase *)this += _Off;return (*this);}++i;_Myt& operator++(){ // preincrement++*(_Mybase *)this;retur原创 2013-07-28 12:30:40 · 656 阅读 · 0 评论 -
类型转换
一:隐式转换内置转换原则:尽可能防止精度损失如:int ival = 0;ival = 3.541 + 3;首先将3转化为double类型,在将6.541转化为int类型C++内置类型转换规则:算术转换:将二元操作符的两个操作数转换为同一类型,并使表达式的值也具有相同的类型。最简单的转换为整体提升:对于所有比int小的整数,包括char、unsigned cha原创 2013-07-28 22:18:35 · 612 阅读 · 0 评论 -
static变量初始化
对static变量的初始化情况做一些记录,以便以后不清楚的时候翻看。struct SimpleStruct { int n; char a[10];};class ClassA{public: ClassA() { a = 10; } int GetA() { return a;原创 2013-08-04 22:53:34 · 1071 阅读 · 0 评论 -
一锅乱炖之C/C++
1.memset是运行时清零,而{0}则是编译时清零2.typedef unsigned int UINT; typedef UINT* PUINT;以上定义合法。3.可以对引用再次引用4.MIDL_INTERFACE定义接口方法如下:MIDL_INTERFACE("55BCC111-5D80-原创 2013-04-07 14:30:54 · 989 阅读 · 0 评论 -
怎么样很好的理解typedef
以前在教材或者博客中,总能看到类似这样的介绍,“typedef定义的不是一个新类型,而是一个类型的别名,比如typedef int size,这里的size就是int的别名”,这样的介绍对错先不管,但一定是会给人误导的;如很多人看了这句话就无法理解下面两个定义了,typedef int A[100],typedef void (*p)(int, int),按之前的介绍的思路,A[100]应该是in原创 2013-08-08 14:36:56 · 733 阅读 · 0 评论 -
类的那些事~
总有一些容易搞错的关于类的小细节,用这篇随笔记录一下~1.类的const成员变量必须也只能在构造函数的参数列表中初始化。原创 2013-04-05 15:44:51 · 617 阅读 · 0 评论 -
虚表~
虚表(vtable)一直都好像很神秘的样子,今天工作中涉及到虚表,就做下一些记录吧~1.每一个拥有虚函数的类都有一个虚表,注意是虚函数。2.虚表实际上是一个函数指针数组,记录了本类所有虚函数的地址。当类对象调用虚函数时,会根据对应关系从虚表中获得虚函数指针,再去执行函数,这种行为称为晚绑定。3.子类的虚表继承了父类的虚表,如果父类vtable中包含某一项,则子类的vtable中也将包含原创 2013-04-05 15:44:09 · 853 阅读 · 0 评论 -
C语言运算符优先级 详细列表
文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。恩,问这个问题的人太多了,懒得继续回答,直接贴上来自己看。。。优先级运算符名称或含义使用形式结合方向转载 2011-08-25 15:22:29 · 502 阅读 · 0 评论 -
CString to string
// string to CStringCString(it->strFileName.c_str())// CString to stringchar szCategory[256] = {0};wcstombs(szCategory, strCategory, strCategory.GetLength());转载 2011-11-24 09:08:04 · 496 阅读 · 0 评论 -
#define用法
1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使用,这个问题在下面反映的尤转载 2012-02-20 14:53:23 · 305 阅读 · 0 评论 -
堆与栈有什么区别?
堆与栈有什么区别?一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3转载 2012-03-24 18:07:03 · 405 阅读 · 0 评论 -
详解 lParam 参数信息
WM_SYSKEYDOWN等按键:详解 lParam 参数信息2011-05-23 10:34lParam的32位分为6个字段,如图6-1所示。 图一 lParam变量的6个按键消息字段重复计数重复计数是该消息所表示的按键次数,大多数情况下,重复计数设定为1。不过,如果按下一个键之后,您的窗口消息处理程序不够快,以转载 2012-03-26 19:59:55 · 1798 阅读 · 0 评论 -
C++文件操作详解(ifstream、ofstream、fstream)
转载自:http://apps.hi.baidu.com/share/detail/6366155C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来)ifstream: 读操作(输入)的文件类(由istream引申而来)fstream: 可同时读写操作的文件类 (由iostream引申而来)打开文转载 2012-07-11 12:56:27 · 851 阅读 · 0 评论 -
TCHAR char转换
首先是把TCHAR转为char[cpp] view plaincopyprint?//将TCHAR转为char //*tchar是TCHAR类型指针,*_char是char类型指针 TcharToChar (const TCHAR * tchar, char * _char) { int iLength ;转载 2012-07-18 17:11:33 · 1478 阅读 · 0 评论 -
CString TCHAR string转换
From:http://hi.baidu.com/eamoon2008/blog/item/816f06fba7276f295c6008df.htmlCString->TCHAR*的转化可以用函数GetBuff()函数原型为:LPTSTR GetBuffer( int nMinBufLength );CString str("CString");TCHAR* s转载 2012-07-18 10:18:33 · 4931 阅读 · 0 评论 -
原码 反码 补码
位运算是指二进制位的运算,在系统软件中,经常要处理一些二进制位的问题,例如:在进行计算机之间的通讯的时候需要通过某些标志位来进行判断通讯是否成功。 计算机中的存储器就是由许多字节(byte)单元组成的。一般,内存的最小度量单位就叫做位(bit),也叫比特。而一个字节就是由8个二进制位组成,其中,最右边的一位叫做最低位,最左边的一位叫做最高位。 所以,一个16位的整数将在内存中占原创 2013-04-05 15:45:52 · 614 阅读 · 0 评论