Chinaunix首页 | 论坛 | 博客
  • 博客访问: 377377
  • 博文数量: 38
  • 博客积分: 256
  • 博客等级: 入伍新兵
  • 技术积分: 846
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-14 23:21
文章分类

全部博文(38)

文章存档

2015年(1)

2014年(1)

2013年(28)

2012年(8)

我的朋友

发布时间:2013-01-21 23:43:32

原标题:Construction of function static variables in C++ is not thread safeHere’s a short quiz. What will the following code print:#include <iostream>using namespace std;class Foo {public: Foo(const char* s = "") { cerr << "Constructing Foo with " << s << endl; }};void .........【阅读全文】

阅读(1778) | 评论(0) | 转发(0)

发布时间:2013-01-21 22:21:45

概述:一般来说,我们不会对全局的new/delete操作符进行重载,而是对某个特定的class。这样我们不会改变软件域中,开发人员和维护人员对new和delete的理解。在这篇文章中,我将会用演绎的方式来阐述一种设计模式,用于提供功能性的复用,我们叫它“功能模式”。基本的情境是这样的:在一个软件系统中,我们可.........【阅读全文】

阅读(1738) | 评论(0) | 转发(0)

发布时间:2013-01-07 00:23:09

关于我们为什么要重载new和delete,我想看过我前一基础篇的朋友,应该都知道了。最基本的原因就是我们想控制内存分配的过程。
如果你要问更详细的条条框框,来解释重载new/delete可以做什么的话,我推荐你去读读《Effective C++》条款50。
这里我不想描述这些书本上已经有的东西,而是想记录一些我实战中的经验。重载new和delete需要注意些什么 a. 我们知道,内存分配在C中是由两个函数实现的,而在C++中是由两个操作符实现的。所以在我们重载new和delete的时候就应该遵守一定的编程规则:

不要分配一个size为0的内存,因为C++要在你分配的这块内存上执行c......【阅读全文】

阅读(1568) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册