- 博客(5)
- 问答 (1)
- 收藏
- 关注
转载 《C++ 沉思录》阅读笔记——句柄类
在上一篇博文里,我介绍了代理类的相关内容,如果记性好的朋友,应该已经对代理类有了比较深入的认识。在设计代理类的过程中,我们遇到的核心问题是:内存的分配和编译时类型未知对象的绑定。我们通过让所有子类自定义一个 copy 函数,来返回自身的复制,这种方式来解决需要我们自己来管理内存的繁琐,又通过定义代理类绑定子类的类型,通过一个基类指针来保存子类这种方式来实现运行时绑定。 但对代码的追求是永
2014-04-13 13:38:06 639
转载 《C++ 沉思录》阅读笔记——代理类
Andrew Koenig 和 Barbara Moo 堪称C++研究领域的”第一神仙眷侣”,看他们的书非常有条理性。这次要解释的是C++中的另一个常见问题。 找出一种优美的控制内存分配的方法来绑定不同子类对象到容器中。多么复杂的一句话,莫慌,其实很简单,跟着步伐来看。 首先假设我们要设计一系列交通工具的类,一般来说我们会定义一个交通工具的基类,里面存放所有交通工具都有的成员和属性,比
2014-04-13 13:32:44 459
翻译 关于指针的若干探讨
这个问题源自对'\0',0,以及NULL的探究! 先看看标题所提到的内容: 根据https://research.microsoft.com/en-us/um/redmond/projects/invisible/include/__defs.h.htm文档中的定义: #if !defined(NULL) && defined(__NEEDS_NULL) #ifdef __cplusp
2013-07-21 09:59:26 513
原创 C++继承、多重继承与虚基类 继承、多重继承时对象内存分布
类对象内存模型 类是对属性和行为的封装,在类的对象中也有属性(成员变量)和行为(成员函数),反映到类对象的内存模型中,也就是内存中应该有对象的成员变量和成员函数。在同一个类的所有对象的成员函数,并不是每个对象有一份成员函数,而是共有一份相同的成员函数。例如下面一个类: [cpp] view plaincopyprint? class Base { //行为 public:
2013-03-14 14:19:04 1170
原创 关于IO
IO的三个方向:控制台 、字符串、文件 控制台方面用到的函数:scanf printf gets puts getchar putchar ,其中gets函数有一定的弱点可以通过对scanf函数、fscanf函数来加以改进。 gets函数在读的时候会把换行符'\n'丢掉且自动添加字符串结尾符'\0',而puts会自动添加换行符 字符串方面用到的函数:sscanf sprint
2013-03-12 14:44:47 596
空空如也
输入同步呼叫与传出呼叫的冲突
2013-10-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人