 
| 『2002旧流言』 | 『2001旧流言』 | 『1997旧流言』 | 
不再提供留言服务,仅能浏览旧留言。
风云老大 偶是mad cat的同学 你是不是最近要去中南大学 来搞个宣传活动我现在在中南读书很早就听mad cat 提起过你 我们可以讲算是同行 很想认识你我的msn ; allen1998yali@hotmail.com
我明天就考试了 希望我的英语也能够过
关于地图的动态生成 比较感兴趣。比较大的地图一般怎样实现卷动之前载入后面的地图呢?
新唐人电视臺将于2004年农历新年之际在纽约曼哈顿隆重推出首届全球华人新年晚会,晚会盛况将于大年三十晚通过卫星向全球播出。届时所有网民也可通过英特网在新唐人网站下载或在线观看: http://www1.point2this.com/
此贴被删除
I think I can past,as you past!
洋哥,真棒!今天不经意间看了的网站,受益匪浅,祝你一切都好!
我对图象压缩很感兴趣~~最近也在想一种编码方式~~
此贴被删除
嘿嘿,现在Sydney Opera 旁边。留个纪念:)
云风总是喜欢用文本编辑器写程序么?"本主页全部页面都使用文本编辑器逐行写成手工制品,质量保证 :-)"
about试玩西风狂诗曲我用你的方法试了,插入CD都是过去了,但是出来两个警告对话框,结果就跳出去了,有什么办法吗?难道此游戏要在98下才能正常运行? 你能不能把你修改成功了的那个破解文件放到网上呢?
Watcom C 11.0 for DOS(12M) jinchongjiu@sohu.com
很佩服你呀,能不能跟我 介绍以下 你学习语言的先后顺序,以及该学点是么好?? 我的信箱zlm20024300@yahoo.com.cn
很佩服你呀,能跟我介绍以下你学习语言的 先后过程, 以你之见 该学点是么最好???谢谢freemind 现在喊做游戏吗??
此贴被删除
裁减
今天终于看到云大哥了...比想象中瘦一点,呵,是不是觉得成都很冷..
有谁写过coff->omf的工具?BCB里有一个,但是我想同时转换VC中C++的东西到BCB中(lib文件)本来用COM的,但是一直不喜欢COM,想换一种手段。
看看而已,我只是路过,云风,梦幻西游还不错。
对某类对象计数有时是很有必要的, 尤其是利于调试. 因为一些内存泄露的 bug 的表象就是某些对象不停的被分配而没有释放. 对象的数目在短期膨胀到一个极大的值. 通常我们会写这样一个 template 来干这种事情:
template <typename T>
class counter {
public:
	counter() { ++_count; }
	~counter() { --_count; }
	int current_count() const { return _count; }
private:
	static int _count;
};
template<typename T> int counter<T>::_count=0;
在需要记数的 class 里放一个 counter 成员就够了 :) 例如:
class foo {
	counter<foo> _counter;
	// ...
};
然后任何时候都可以用 _counter.current_count() 取到当前对象的数目.
在完成其它功能(比如记录下高峰时对象最多的数目)前, 重新审视一下这个 template, 它有 bug 吗? 真的在任何合法的情况下都能正常工作吗? _count 有可能被减为负数吗?
回答是, 隐患是存在的! 这就是这篇文章想讨论的有趣问题. 因为 counter 没有写 copy ctor. 如果包含它的类也没有写 copy ctor, 编译器会自动产生一个. 但是, 由于 counter 本身是没有非静态成员变量的, 属于一个POD 类型. 所以它的 copy ctor 什么都不会做. 当然也不会 ++_count 了.
你可以试一下以下代码:
class foo {
public:
	counter<foo> _counter;
};
void main()
{
	foo f1;
	foo f2(f1);
	printf("%d",f2._counter.current_count());
}
答案是 1 还是 2 ?
当然如果 class foo 有自己的 copy ctor, 答案又成了正确的 2. 因为在调用 foo 的 copy ctor 之前, 会调用 counter 下面随便写一些有趣但不复杂的代码, 完善这个 counter, 可以使每个 counter 都把自己注册到 counter_log 中方便检阅:
class counter_data;
class counter_log {
public:
	static counter_log& instance() {
		static counter_log __inst;
		return __inst;
	}
	void add(const char *name,counter_data *cd) {
		log_[name]=cd;	
	}
	~counter_log() {}
	void output() const; // 这个函数的实现取决于实际的运用.
private:
	counter_log() {}
	std::map<const char *,counter_data *> _log;
};
class counter_data {
	int _counter;
	int _max;
public:
	counter_data(const char *name=0) {
		counter_log::instance().add(name,this);
	}
	~counter_data() {}
	void inc() { 
		if (++_counter>_max) {
			_max=_counter;
		}
	}
	void dec() {
		--_counter;
	}
	int current_count() const { return _counter; }
	int max_count() const { return _max; }
};
template <typename T>
class counter {
public:
	counter() { _data.inc(); }
	~counter() { _data.dec(); }
	counter(const counter &) { _data.inc(); }
	int current_count() const { return _data.current_count(); }
	int max_count() const { return _data.max_count(); }
private:
	static counter_data _data;
};
template<typename T> counter_data counter<T>::_data=counter_data(typeid(T).name());
嘿嘿.周末去成都蹭饭 :)
云风近来可有留意这个游戏,看来会红哦,这里有演示的视频http://www.avl.com.cn/game/cs/bf1942/desertcombat/update/1030-1.htm
|  | 
本主页全部页面都使用文本编辑器逐行写成
手工制品,质量保证 :-)
©1997-2006 云风工作室. All rights reserved.