
2. C++杂项
梦幻DUO
游戏开发爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于STL erase的iterator失效问题
iterator中文经常被译为“泛型指针”,在实际的使用中却需要比指针更加小心翼翼。如果没有注意到iterator失效,那么产生的错误可能比普通指针更隐蔽,当然也可能会引起一般的程序异常。iterator失效主要有两种情况: 1、iterator变量已经变成了“野指针”,对它进行*,++,--都会引起程序内存操作异常; 2、iterator所指向的变量已经不是你所以为的那个变量了。 所转载 2015-08-31 19:45:46 · 656 阅读 · 0 评论 -
把WinMain封装在lib里
WinMain默认不导出,需要在Linker的Command Line加上:/EXPORT:WinMain原创 2016-08-15 14:18:36 · 455 阅读 · 0 评论 -
进程间通信(Interprocess Communications)
https://msdn.microsoft.com/en-us/library/aa365574(v=vs.85).aspx转载 2016-09-17 08:16:46 · 447 阅读 · 0 评论 -
内存字节对齐
在C语言面试和考试中经常会遇到内存字节对齐的问题。今天就来对字节对齐的知识进行小结一下。首先说说为什么要对齐。为了提高效率,计算机从内存中取数据是按照一个固定长度的。以32位机为例,它每次取32个位,也就是4个字节(每字节8个位,计算机基础知识,别说不知道)。字节对齐有什么好处?以int型数据为例,如果它在内存中存放的位置按4字节对齐,也就是说1个int的数据全部落在计算机一次取数的区间内,那么只需转载 2016-04-04 17:57:41 · 582 阅读 · 0 评论 -
VS 更改.lib和.exp输出位置
如果你不想输出的.exe文件夹下面还有.lib和.exp这些杂项,你可以打开: 配置属性 > 链接器 > 高级 > 导入库,在这里修改位置,例如: $(Configuration)\$(TargetName).lib.exp也是根据.lib的文件名来生成的。原创 2016-02-16 12:53:01 · 3966 阅读 · 0 评论 -
C++ Pair
Pair类型概述 pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下:pair<int, string> a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。pair<string, string> a("James", "Joy");也可以像上面一样在定义的时候直接转载 2016-02-01 23:15:17 · 360 阅读 · 0 评论 -
C++ 可变参数函数
一、VA_LIST 是在C语言中解决变参问题的一组宏 他有这么几个成员:1) va_list型变量:#ifdef _M_ALPHAtypedef struct { char *a0; /* pointer to first homed integer argument */ int offset; /* byte offset of next转载 2016-02-01 21:29:22 · 668 阅读 · 0 评论 -
#if 0 ... #endif的真实用途
在过去都没有去理会#if 的作用,今天突发奇想,开启编译器试一试。很多人都知道,#if 0 ... #endfif的作用跟/*...*/的作用是一样的,就是注释,可是注释为什么不用注释符号/*就行了么?google了一下,大家都说是为了解决嵌套注释。如:/*-----------------------------------------------------------转载 2015-12-04 17:26:14 · 565 阅读 · 0 评论 -
C++ extern关键字
转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html原作者:chao_yu基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作转载 2015-08-21 14:43:57 · 498 阅读 · 0 评论 -
C++ __asm关键字
C++的关键字 asm微软详述:__asm关键字启动内联汇编并且能写在任何c/c++合法语句之处.它不能单独出现.它必须接汇编指令、一组被大括号包含的指令或一对空括号.术语“__asm 块”在这里是任意一个指令或一组指令无论是否在括号内。以下代码片段是在括号内的一个简单的__asm块。__asm{ mov al, 2转载 2015-08-21 14:59:11 · 6264 阅读 · 0 评论 -
Win32应用程序创建控制台
通过AllocConsole()可以为Win32应用程序分配一个控制台。 接着我们可以重定向标准输入输出到控制台,也就是cin和cout等。AllocConsole();freopen("CONIN$", "r", stdin);freopen("CONOUT$", "w", stdout);freopen("CONOUT$", "w", stderr);原创 2016-08-15 14:44:04 · 511 阅读 · 0 评论