- 浏览: 792308 次
- 性别:
- 来自: 北京
-
最新评论
-
颠沛流离才懂得:
[size=medium][/size]你是在逗我么
iphone之通过get和post方式请求asp.net webservice -
颠沛流离才懂得:
iphone之通过get和post方式请求asp.net webservice -
newjunwei:
受益匪浅,谢谢分享
框架? -
wwq100:
...
qt 键盘按键事件 范例 keyPreEvent() -
edgar.cai:
大声的说「我想成为你的实习生」,就算被拒绝,你也没损失什么不是 ...
年轻人,卷起袖子,来把手弄脏吧!
文章列表
电视机坏了,于是下载了msdn-tv来看。其中就有whiteboard with Anders Hejlsberg。http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040624csharpah/manifest.xml长达一个多小时的一个seminar,但是看的兴趣盎然。Anders不愧是程序英雄,思维清晰,反应敏捷,对于任何问题,思考都不超过2秒钟,而且旁征博引,似乎就没有什么可以难住他的。听众的提问五花八门,从AOP,数据库,对未来的发展,到个别的语言特性(例如我何时使用foreach这样的“弱智”问题),And ...
- 2004-09-26 22:33
- 浏览 614
- 评论(0)
其实也谈不上读代码,只不过前段时间用boost的date_time库用得很频繁,发现它总是可以自行提示需要link到哪些库,一直觉得不解。今天没事,干脆追踪一下,看看到底是怎么实现的。其实所谓追踪,有点像人工智能里面的width-first search:date_time库默认引用的是一个头文件#include "boost/date_time/gregorian/gregorian.hpp"这个文件,当然,只不过是在引用其它的文件#include "boost/date_time/gregorian/gregorian_types.hpp"#inclu ...
- 2004-09-26 20:59
- 浏览 638
- 评论(0)
一.基本知识点
方法调用与消息
如果一个目标对象委托给一个真实代理实例,那么所有对对应的透明代理的方法调用都会经过一个消息转换与反转换的过程,而 正是将方法调用转换为消息后,我们才有机会实现预(后)处理,这 ...
- 2004-08-26 16:27
- 浏览 554
- 评论(0)
2.3.4、 Copy-On-Write的具体实现是怎么样的?
最后的这个问题,我们主要解决的是那个“民主集中”的难题。请先看下面的代码:
string h1 = “hello”;
string h2= h1;
string h3;
h3 = h2;
- 2004-06-23 16:15
- 浏览 606
- 评论(0)
2.2、 深入
在深入这前,通过上述的演示,我们应该知道在string类中,要实现写时才拷贝,需要解决两个问题,一个是内存共享,一个是Copy-On-Wirte,这两个主题会让我们产生许多疑问,还是让我们带着这样几个问题来学习吧:
1、 Copy-On-Write的原理是什么?
2、 string类在什么情况下才共享内存的?
3、 string类在什么情况下触发写时才拷贝(Copy-On-Write)?
4、 Copy-On-Write时,发生了什么?
5、
- 2004-06-23 16:09
- 浏览 536
- 评论(0)
标准C++类std::string的
内存共享和Copy-On-Write技术
陈皓
1、 概念
Scott Meyers在《More Effective C++》中举了个例子,不知你是否还记得?在你还在上学的时候,你的父母要你不要看电视,而去复习功课,于是你把自己关在房间里,做出一副正在复习功课的样子,其实你在干着别的诸如给班上的某位女生写情书之类的事,而一旦你的父母出来在你房间要检查你是否在复习时,你才真正捡起课本看书。这就是“拖延战术”,直到你非要做的时候才去做。
当然,这种事情在现实生活中时往往会出事,但其在编程世界中摇身一变,就成为了最有用的技术,正如 ...
- 2004-06-23 16:06
- 浏览 616
- 评论(0)
使用函数————
在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。
一、函数的调用语法
函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:
$(<function> <arguments>)
或是
${<function> <arguments>}
这里,<function>就是函数名,make支持的函数不多。<arguments>是函数的参数,参数间以逗 ...
- 2004-02-25 10:16
- 浏览 552
- 评论(0)
make 的运行——————
一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译 ...
- 2004-02-25 10:16
- 浏览 313
- 评论(0)
隐含规则————
在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的 ...
- 2004-02-25 10:16
- 浏览 598
- 评论(0)
五、定义模式规则
你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%"字符。"%"的意思是表示一个或多个任意字符。在依赖目标中同样可以使用"%",只是依赖目标中的"%"的取值,取决于其目标。
有一点需要注意的是,"%"的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入Makefile时,而模式规则中的"%"则发生在运行时。
1、模式规则介绍
模式规则中,至少在规则的目标定义中要包含"%& ...
- 2004-02-25 10:16
- 浏览 499
- 评论(0)
使用变量————
在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。
变量的命名字可以包含字符、数字,下划线(可以是数字开头),但不应该含有“:”、“#”、“=”或是空字符(空格、回车等)。变量是大小写敏感的,“foo”、“Foo”和“FOO”是三个不同的变量名。传统的Makefile的变量名是全大写的命名方式,但我推荐使用大 ...
- 2004-02-25 10:15
- 浏览 571
- 评论(0)
六、多行变量还有一种设置变量值的方法是使用define关键字。使用define关键字设置变量的值可以有换行,这有利于定义一系列的命令(前面我们讲过“命令包”的技术就是利用这个关键字)。
define指示符后面跟的是变量的名字,而重起一行定义变量的值,定义是以endef关键字结束。其工作方式和“=”操作符一样。变量的值可以包含函数、命令、文字,或是其它变量。因为命令需要以[Tab]键开头,所以如果你用define定义的命令变量中没有以[Tab]键开头,那么make就不会把其认为是命令。
下面的这个示例展示了define的用法:
define two-lines echo foo echo ...
- 2004-02-25 10:15
- 浏览 613
- 评论(0)
四、foreach 函数
foreach函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构
- 2004-02-24 16:53
- 浏览 564
- 评论(0)
书写命令————
每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会 ...
- 2004-02-24 16:51
- 浏览 595
- 评论(0)