
C++
文章平均质量分 62
sky0942
这个作者很懒,什么都没留下…
展开
-
VC++中安装OpenGL的配置过程及注意事项
一、下载并安装glut库 opengl的glut库 GLUT不是OpenGL所必须的,但它会给学习带来一定的方便,推荐安装。 Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip Windows环境下安装GLUT的原创 2015-05-28 16:11:58 · 1709 阅读 · 0 评论 -
C++ 06装饰模式
装饰模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。装饰模式的UML图: Component是定义一个对象接口,可以给这些对象动态添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator是装饰的抽象类,继承了Component,从外来类扩展Component类的功原创 2015-11-16 16:54:54 · 606 阅读 · 0 评论 -
C++中内存泄露检测
内存泄露的关键就是记录分配的内存和释放内存的操作,看看能不能匹配。跟踪每一块内存的声明周期,例如:每当申请一块内存后,把指向它的指针加入到List中,当释放时,再把对应的指针从List中删除,到程序最后检查List就可以知道有没有内存泄露了。Window平台下的Visual Studio调试器和C运行时(CRT)就是用这个原理来检测内存泄露。在VS中使用时,需加上#define _CRTD原创 2015-10-30 14:17:38 · 968 阅读 · 0 评论 -
C++中顶层const和底层const
顶层const表示指针或对象本身是一个常量指针底层const表示指针或引用指向的对象是一个常量int i=0;int *const p1=&i;//p1本身是一个常量指针,不能再把p1指向其他对象,这是一个顶层constconst int ci=42;// 不能改变ci的 值,ci是一个顶层constconst int*p2=&ci;//不能改变*p2的值,但可以把p2再指向其原创 2015-10-15 19:01:06 · 599 阅读 · 0 评论 -
C++中四种类型转换
C++中四种类型转换有:static_cast、const_cast、dynamic_cast和reinterpret_cast一、static_caststatic_cast对任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast。 旧式的强制类型转换早期的C++版本中,显示的进行强制类型转换包含两种形式:1) type(expr) ;//原创 2015-10-15 18:32:51 · 607 阅读 · 0 评论 -
C++中深入理解dynamic_cast
dynamic_cast运算符的主要用途:将基类的指针或引用安全地转换成派生类的指针或引用,并用派生类的指针或引用调用非虚函数。如果是基类指针或引用调用的是虚函数无需转换就能在运行时调用派生类的虚函数。前提条件:当我们将dynamic_cast用于某种类型的指针或引用时,只有该类型含有虚函数时,才能进行这种转换。否则,编译器会报错。dynamic_cast运算符的调用形式如下所示:dy原创 2015-10-15 10:14:02 · 15979 阅读 · 2 评论 -
C++中虚函数工作原理和(虚)继承类的内存占用大小计算
转载出处,原文地址:http://blog.youkuaiyun.com/hackbuteer1/article/details/7883531一、虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称转载 2015-11-08 15:49:37 · 469 阅读 · 0 评论 -
C++中有符号类型(int)和无符号类型(unsigned int)混合算术运算的类型转换会出现的问题
当无符号数(int)和有符号数(unsignedint)进行算数运算时,有符号数(int)会先转换为无符号数(unsignedint),在进行相应的算数运算。 先看一个例子。例一: unsigned int a= 20; int b = -80; cout 如果int类型是32位的情况下,输出结果为:4294967236解析:运算过程先把-80的补原创 2015-11-07 19:38:18 · 6210 阅读 · 0 评论 -
error LNK2038: 检测到“RuntimeLibrary”的不匹配项的解决办法
首先贴一段错误信息如下:1>IlmImfd.lib(ImfTiledRgbaFile.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)1>IlmImfd.lib(IexBaseExc.obj) : error LNK2038:原创 2015-10-16 16:23:08 · 31551 阅读 · 3 评论 -
C++带const、static和#define关键字的变量定义的区别
一、const 1.变量定义中 (1)const int a=10; 说明:定义的int型变量a不能被修改,只能被使用。带const关键字的变量可以定义为全局变量,但此时定义的全局变量链接性为内部的 (2)#a.h中定义: const int b=10; 在头文件中定义的带const关键字的变量,此头文件可被多个不同的源文件所引用,同时不会出现问题,在编译原创 2015-07-04 21:35:12 · 2669 阅读 · 1 评论 -
VC++中的WinMain()函数介绍
WinMain()函数 WinMain()函数等价于控制台程序中的main()函数。该函数是执行开始的地方,也是为程序其余部分执行基本初始化工作的地方。为了允许 Windows 传递数据,WinMain()函数有 4 个形参和一个int类型的返回值,其原型如下: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevIns原创 2015-06-28 17:17:22 · 3282 阅读 · 0 评论 -
VS2013对代码行进行多行注释快捷键
多行注释:Ctrl+K+C(先按ctrl,再按K,最后按C)取消多行注释:Ctrl+K+U(先按ctrl,再按K,最后按U)原创 2015-06-28 15:24:31 · 5371 阅读 · 0 评论 -
vs2010 问题 >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏问题说明:当安装VS2013之后,原来的.NET 4.0会被替换为.NET 4.5。再安装VS2010时,不会恢复.NET 4.0。l 当VS2013安装后,VS2010的cvtres.exe就无法使用了。如果你的PATH环境变量中VS2010的工具路径第一个出现,而且链接器需要将.r原创 2016-09-30 14:21:31 · 1350 阅读 · 0 评论