C++
C++
^_^!
这个作者很懒,什么都没留下…
展开
-
typedef
在编程实践中,尤其是看别人代码的时候,常常会遇到比较复杂的变量声明,使用typedef作简化自有其价值,比如: 下面是三个变量的声明,我想使用typdef分别给它们定义一个别名,请问该如何做? 1:int *(*a[5])(int, char*); 2:void (*b[10]) (void (*)()); 3. doube(*)() (*pa)[9];转载 2012-02-11 19:11:00 · 335 阅读 · 0 评论 -
使用std::sort()排序导致程序core问题分析
http://blog.sina.com.cn/s/blog_79d599dc01012m7l.html一、问题std::sort()在排序的时候,如果对排序中的仿函数对相等的值返回true,会导致程序core掉。二、解决办法让比较函数对相等的值返回false三、原因分析std::sort()在排序是分两步进行的,转载 2014-07-23 17:09:36 · 438 阅读 · 0 评论 -
C++ 11 auto & decltype
http://www.cnblogs.com/hujian/archive/2012/02/15/2352050.html【原】C++ 11 auto & decltype C++ 11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++ 98中的标识临时变量的语义,由于使用极少且多余,在C++ 11中已被删除。 auto自转载 2014-09-04 20:08:50 · 408 阅读 · 0 评论 -
C++ 11 bind
http://www.cnblogs.com/hujian/archive/2012/12/08/2809298.html【原】C++ 11 bind bind是一组用于函数绑定的模板。在对某个函数进行绑定时,可以指定部分参数或全部参数,也可以不指定任何参数,还可以调整各个参数间的顺序。对于未指定的参数,可以使用占位符_1、_2、_3来表示。-1表示绑转载 2014-09-04 20:13:17 · 400 阅读 · 0 评论 -
C++11 function
http://www.cnblogs.com/hujian/archive/2012/12/07/2807605.html function是一组函数对象包装类的模板,实现了一个泛型的回调机制。function与函数指针比较相似,优点在于它允许用户在目标的实现上拥有更大的弹性,即目标既可以是普通函数,也可以是函数对象和类的成员函数,而且可以给函数添加状态。 声明一个转载 2014-09-04 20:12:42 · 516 阅读 · 0 评论 -
C++ 11智能指针之shared_ptr
http://www.cnblogs.com/hujian/archive/2012/12/10/2810754.html【原】C++ 11智能指针之shared_ptr shared_ptr是一个引用计数智能指针,用于共享对象的所有权。它可以从一个裸指针、另一个shared_ptr、一个auto_ptr、或者一个weak_ptr构造。还可以传递第二个参数转载 2014-09-04 20:13:52 · 571 阅读 · 0 评论 -
C++ 11智能指针之unique_ptr
http://www.cnblogs.com/hujian/archive/2012/12/10/2810776.html【原】C++ 11智能指针之unique_ptr unique_ptr是一个独享所有权的智能指针,它提供了一种严格语义上的所有权,包括: 1、拥有它所指向的对象。 2、无法进行复制构造,也无法进行复制赋值操作。也转载 2014-09-04 20:14:24 · 553 阅读 · 0 评论 -
C++ 11并发
http://www.cnblogs.com/hujian/archive/2012/12/10/2810788.html【原】C++ 11并发 在C++ 11中,可以使用异步任务async和future配合来完成一些轻量级的并发编程工作。async使用比较简单,只需要传入要并发执行的函数即可。future用于占位,以获取并发执行的函数的结果;调用其get转载 2014-09-04 20:13:52 · 609 阅读 · 0 评论 -
C++ 11右值引用
http://www.cnblogs.com/hujian/archive/2012/02/13/2348621.htmlhttp://www.cnblogs.com/hujian/archive/2012/02/13/2348621.html转载 2014-09-04 20:04:11 · 404 阅读 · 0 评论 -
C++ 11 tuple & 可变参数模板
http://www.cnblogs.com/hujian/archive/2012/02/23/2364190.html【原】C++ 11 tuple & 可变参数模板 C++ 11中引入的tuple是一个N元组。它相当于有N个成员的结构体,只不过这个结构体的成员都是匿名的。tuple中有两个特殊的函数,一个是head(),用于获取第一个成员转载 2014-09-04 20:09:28 · 607 阅读 · 0 评论 -
C++ 11完美转发
http://www.cnblogs.com/hujian/archive/2012/02/17/2355207.html【原】C++ 11完美转发 C++ 11中引入的一个非常重要也是比较难于理解的新特性就是完美转发(Perfect Forwarding)。完美转发中有两个关键词:“转发”和“完美”。 我们先来看第一个关键词“转转载 2014-09-04 20:07:19 · 2992 阅读 · 0 评论 -
C++ 11语法甜点1
http://www.cnblogs.com/hujian/archive/2012/02/20/2358853.html【原】C++ 11语法甜点1 C++ 11中引入了许多简化编程工作的语法上的新特性,我们暂且美其名曰“语法甜点”。下面一一进行介绍。 语法甜点1:序列for循环 序列for循环是一种简化的for循环,可用转载 2014-09-04 20:08:00 · 498 阅读 · 0 评论 -
C++11 week_pt
http://www.cnblogs.com/hujian/archive/2012/12/10/2810785.html week_ptr是对对象的一种弱引用,它不会增加对象的引用计数。week_ptr和shared_ptr之间可以相互转换,shared_ptr可以直接赋值给week_ptr,week_ptr可通过调用lock函数来获得shared_ptr(如果对象已经被释放,转载 2014-09-04 20:13:13 · 608 阅读 · 0 评论 -
C++ 11 Lambda表达式
http://www.cnblogs.com/hujian/archive/2012/02/14/2350306.htmlC++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下: [函数对象参数] (操作符重载函数参数) mutable或exception声明 ->返回值类型 {函数体} 可转载 2014-09-04 20:08:07 · 441 阅读 · 0 评论 -
C++使用OLE高速读写EXCEL的源码
http://blog.csdn.net/fullsail/article/details/8449448转载 2014-04-17 17:20:07 · 947 阅读 · 0 评论 -
堆栈
堆栈求助编辑百科名片 在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out) 一、预备知识—程序转载 2012-02-15 12:10:07 · 442 阅读 · 0 评论 -
GetMessage和PeekMessage
原文:http://www.cnblogs.com/sadier/articles/100948.htmlBob GundersonMSDN技术组作于:1992年11月11日 Creamdog译于:2002年3月13日 译者的话该文重点讲述了Windows处理事件、消息的具体过程和步骤。尤其是在系系处理鼠标键盘事件的过程上做了详解。通过这篇文章,你将转载 2012-02-17 16:03:12 · 339 阅读 · 0 评论 -
WM_CLOSE / WM_DESTROY / WM_QUIT 几个消息的逻辑关系
http://www.rupeng.com/innersupesite/index.php/1282/viewspace-688 WM_DESTROY 是关闭程序的WM_CLOSE 是关闭窗口的WM_QUIT 是关闭消息环的以下说明程序是如何退出的:使用者选按【File/Close】,于是发出 WM_CLOSE。CMyFrameWnd 并没有设置WM_CLOSE转载 2012-03-02 20:30:13 · 540 阅读 · 0 评论 -
HDR技术以及如何实现HDR效果
http://blog.csdn.net/sck5711/article/details/4036343 什么是HDR? 谈论游戏画面时常说的HDR到底是什么呢?HDR,本身是High-Dynamic Range(高动态范围)的缩写,这本来是一个CG概念。 计算机在表示图象的时候是用8bit(256)级或16bit(65536)级来区分图象的亮度的,但这区区几百或几万无法再现转载 2012-03-02 23:01:00 · 1673 阅读 · 0 评论 -
ogre cmake编译
原文:http://blog.csdn.net/HowdyHappy/article/details/5850628 OGRE 源码地址http://www.ogre3d.org/download/source下载 OGRE 1.7.1 Source For Windowshttp://sourceforge.net/projects/ogre/files/ogre转载 2012-03-09 18:28:09 · 791 阅读 · 0 评论 -
C++ 虚函数表解析
原文地址:http://blog.csdn.net/haoel/article/details/1948051C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现转载 2012-04-11 13:03:42 · 375 阅读 · 0 评论 -
关于CEGUI的String的调试问题
原文:http://www.cppblog.com/CrazyDev/archive/2010/05/18/115689.html方法一:CEGUI的字符串类设计的初衷是以32个字符为分界点, 低于32个字符使用固定buffer, 高于才使用栈分配内存存储字符串. 不过因为CEGUI使用utf32,兼容性虽然很好,但是在VC调试器里无法显示是个很大的问题.这里参考了mybios博客转载 2012-05-27 13:59:14 · 802 阅读 · 0 评论 -
try catch
原文:http://gcclife.blog.163.com/blog/static/1816971332011523113035245/ 函数后面的 throw 分三种: 1. throw() 表示这个函数不会抛出异常。注意这个是“不会”。 2. throw(...) 表示这个函数可能会抛出异常。 3. throw( type ) 表示这个函数可能会抛出指定类转载 2012-06-07 21:36:31 · 2936 阅读 · 0 评论 -
用g++编译生成动态连接库*.so的方法及连接
原文:http://blog.sina.com.cn/s/blog_56d8ea900100xzj7.html1、动态库*.so的编译这里我们用到4个文件,它们分别为:SoDemoTest.h、one.cpp、two.cpp、three.cpp。它们的内容如下: SoDemoTest.h#ifndef __SO_DEMO_TEST转载 2012-07-27 10:59:50 · 591 阅读 · 0 评论 -
g++的使用
原文:http://wangxiang0794.blog.163.com/blog/static/6390800520111131105654836/C++中的一些文件后缀.a静态库 (archive).C.c.cc.cp.cpp.cxxC++源代码(需要编译预处理).hC或者C++源代码头文件转载 2012-07-27 10:47:19 · 682 阅读 · 0 评论 -
g++编译使用静态程序库
原文:http://blog.csdn.net/nkg114mc/article/details/6707181g++编译使用静态程序库以及如何生成静态程序库2009-08-13 16:06原文地址:http://hi.baidu.com/alex%BA%E9%C1%C1/blog/item/b0d3d112ccc57a896438dbec.ht转载 2012-07-27 10:48:31 · 1047 阅读 · 0 评论 -
VS2013中的C++11新特性
http://www.oschina.net/translate/cplusplus-11-features-in-visual-cplusplus-2013-pre介绍Visual C++ 2013 Preview 在6月发布了,C++开发者又找到一个编译器可以更好的支持ISO C++ 11 的特性了.本文介绍了这些新的特性并附有代码实例.转载 2013-12-11 20:01:24 · 2189 阅读 · 0 评论 -
内存_浅谈C++中内存泄漏的检测
http://blog.chinaunix.net/uid-21375345-id-3290500.html首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,转载 2014-02-07 15:28:54 · 468 阅读 · 0 评论 -
语法甜点11:非成员的begin和end
http://www.cnblogs.com/hujian/archive/2012/12/07/2807941.html 语法甜点11:非成员的begin和end 在C++ 03中,标准容器都提供了begin和end成员函数,但对于普通数组,则只能使用不同的写法。比如:1 vectorint> v; 2 int a[100]; 3 sort(v.beg转载 2014-09-04 20:11:04 · 999 阅读 · 0 评论