随笔分类 -  C++

摘要:最早学编程的时候,定义字符串数组往往采用以下写法: char szBuffer[1024] = {0}; 这个定义在早起的VS版本比如说Microsoft Visual Studio 2010 Debug模式下,其反汇编是这样的 1 1 volatile char szBuffer[1024] = 阅读全文
posted @ 2022-03-22 09:24 繁星jemini 阅读(149) 评论(0) 推荐(0)
摘要:此文为转载,好像原出处的原文已经无法打开了。 本文解释了bind 是如何工作的。为了清晰,我对图中的语法作了一些简化(例如,省略函数调用操作符的参数类型),并且简化了 bind 的实现. bind 可以用来将用户提供的需要一个参数的函数转换成不需要参数的函数对象。绑定的值(在这个例子中是123)存储 阅读全文
posted @ 2018-07-01 13:22 繁星jemini 阅读(1714) 评论(0) 推荐(1)
摘要:从C++98开始萃取在泛型编程中用的特别多,最经典的莫过于STL。STL中的拷贝首先通过萃取技术识别是否是已知并且支持memcpy类型,如果是则直接通过内存拷贝提高效率,否则就通过类的重载=运算符,相比之下就效率就低了一些。所以说有些做STL优化的程序员为了追求效率就直接改写STL以便于支持可以通过 阅读全文
posted @ 2018-06-27 22:46 繁星jemini 阅读(2257) 评论(0) 推荐(1)
摘要:这两天有个C++新手问了我一个问题,他的工程当中有一段代码执行不正确,不知道是什么原因。我调了一下,代码如果精简下来,大概是下面这个样子: 或许读者会觉得奇怪,中间为什么有个成void*的转换。因为这段代码是我把他代码里面最根本的问题精简后的,结合到他的代码上下文框架设计,中间确实是这样,仅仅一眼看 阅读全文
posted @ 2016-10-23 10:09 繁星jemini 阅读(4821) 评论(2) 推荐(3)
摘要:Objective-C的协议和代理是运用最多的特性之一,可以说在苹果系列开发中无处不在。事实上很多人都不知道其背后的原理。事实上简单点说,这就是设计模式中的代理模式的经典运用。代理模式简单点说就是为其他对象提供一种代理以控制对这个对象的访问,而在OC当中形象点说就是如果A完成一件事,但是自己不能完成 阅读全文
posted @ 2016-08-06 11:30 繁星jemini 阅读(806) 评论(0) 推荐(0)
摘要:在OC(Objective-C)里面有动态类型分为以下几类: 虽然C++本身不包含以上这些功能,但是相比之下C++是更为底层的语言,其实以上大部分也可以用C++模拟实现。虽然这些对实际开发意义或许不大,但是从中我们也可以了解很多高级语言底层知识,从而更深入了解语言本质或者是语言的灵活性。当然以上接口 阅读全文
posted @ 2016-07-31 19:16 繁星jemini 阅读(792) 评论(0) 推荐(0)
摘要:从迭代器中取值切记需要判断是否为空 例如: 1 vector<int> vtTest; 2 vtTest.clear(); 3 if (vtTest.empty()){ 4 return 0; 5 } 6 7 int *pTest = &vtTest[0]; 如果没有忘了判断则会出现这样的异常_DE 阅读全文
posted @ 2016-02-12 14:21 繁星jemini 阅读(7933) 评论(0) 推荐(0)
摘要:前些天想把以前写的内存池算法重写一遍,跨平台是第一目标,当时突发奇想,因为不愿意做成一大堆#if..#end,所以想利用C++的多态性,但是怎么让内存池完好退出却没想到自认为完美的方案。但是一个很偶然的机会想到在基类的析构函数中调用虚函数来做文章,不过又一想,一个类如果有虚函数,那么编译器会在即使没... 阅读全文
posted @ 2015-11-22 13:07 繁星jemini 阅读(781) 评论(0) 推荐(0)
摘要:以下测试环境均在Visual C++ 2005,WIN7 SP1 64位系统之上。几天前组内一个同事做技术分享,其中谈到一个问题,如果new出一个对象但是delete的时候,如果写成delete[]效果会如何。其中有同事在实际测试中发现如果是debug版本会抛异常,但是Release会反复执行该对象... 阅读全文
posted @ 2014-08-31 09:52 繁星jemini 阅读(351) 评论(0) 推荐(0)
摘要:首先本文并不是讲解C++萃取技术,关于C++的萃取技术网上有很多文章,推荐http://www.cppblog.com/woaidongmao/archive/2008/11/09/66387.html如果这篇文章能看懂肯定也能看懂我这篇小博文了。 熟悉C++的人肯定都用过auto_ptr这个智能指 阅读全文
posted @ 2013-12-20 16:00 繁星jemini 阅读(1809) 评论(0) 推荐(0)