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

全部博文(38)

文章存档

2015年(1)

2014年(1)

2013年(28)

2012年(8)

我的朋友

发布时间:2012-12-29 21:10:16

最近在网上看到好多篇博文,解释new/delete的背后故事,看完之后,总感觉,这些文章的理解有点偏颇,而且并没有真正懂得new和delete。基于这样的原因,我想写一篇博文,期望可以用通俗的方法解释它们。 1. 概念 new/delete操作分为两种:普通的new/delete和placement new/delete。 a. 普通new/delete:只接受一个参数的new/delete。当然这个参数对于new就是size,对于delete就是object pointer; b. placement new/delete: 接收除了默认参数之外的参数。比如接收一个已分配好的内存,接......【阅读全文】

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

发布时间:2012-12-27 01:50:02

创建型设计模式是我们经常需要用到的设计模式之一,顾名思义,这种设计模式是用来创建对象的设计模式。如果你不熟悉,也许会问,我们已经有了构造函数,为什么还需要这种设计模式?为什么我们需要一个中间层专门用来创建对象呢? 我们这里先来设计一个场景,然后来看看为什么我们需要创建型设计模式。 场景: 一般来说,在constructor中,我们有些事情是不可以做的,比如把正在创建的类对象添加到一个global的数据结构中去,比如调用自身的虚函数。如果我们正好遇到这些场景,我们一般会想到利用两段式方法来创建这种对象,在constructor中初步初始化对象成员,然后用另外一个init函数来做进一步的对象......【阅读全文】

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

发布时间:2012-12-23 14:41:40

线程安全定义: 我们可以从多个方面来定义线程安全 1. 从代码的角度来定义:我们说一段代码是线程安全的,指的是当多个线程同时调用这段代码时,这段代码操作的共享资源(数据结构和行为)不会处于一个不安全的中间状态,所有线程都有一个或一组可预期的操作结果。 2. 从数据结构的角度来定义:我们说某个数据结构的访问时线程安全的,是指当多个线程从不同的角度来访问它的对象或者实例时,它不会处于一个不安全的中间状态。而是对任何线程,都有一个或一组可预期的结果。 很多时候,我们会根据不同的需求来处理线程安全,或者根据我们使用的编程语言来决定如何处理线程安全。 比如,为了性能,我们可能不设计一个线程......【阅读全文】

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

发布时间:2012-12-18 01:35:10

C++是一门美妙的语言,也是一门复杂的语言。有多少理由,我们可以用来唾弃它,但有更多的理由让我们选择它做为我们的开发工具。 老实说,工作了这么多年,真的很少见到C++高手,我也算是工作在好几个领域数一数二的公司了,但是真正完全懂得用C++做设计的工程师,少之又少。比如我现在的公司,就有人说过这样一句话“我原以为我的C++不怎么样,没想到来到这家公司后,我竟然变成了C++高手。”反而,在一些小公司里,或者从小公司出来的工程师,对C++的掌握程度却非常好。 C++确实是一门易学难精的语言。它包含的内容太多了,而且这些内容,我们又可以从不同的角度去理解,度量它们。所以有时候我们自以为已经掌握了它......【阅读全文】

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

发布时间:2012-12-15 17:01:08

在这个并发的世界,Erlang迎来了它的春天。这门被雪藏了几十载的语言,在这个时机被重新挖掘出来,风靡各个领域。一方面是因为硬件的原因,多核多线程的CPU,CPU和GPU的融合,另一方面是因为软件的需求,分布式系统的普遍应用,以及健壮性的需求。 Erlang区别于其它编程语言的基本特点是他的错误处理部分。这部分的特点是以“非防御”和“就让它崩溃”这一套概念为基础(在其它语言当中,这是不可想象的)。这套错误处理机制是它的独门绝学,也是它与传统编程语言截然相反的地方(Armstrong博士语)。如果我们熟悉其它语言,可以预知,以这套理论为基础的编程语言可以编写出简洁而漂亮的程序。 Erlang......【阅读全文】

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

登录 注册