??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧美日韩在线播放,欧美日韩在线高清,久久久久一本一区二区青青蜜月http://www.shnenglu.com/walkspeed/zh-cnSat, 23 Aug 2025 17:53:14 GMTSat, 23 Aug 2025 17:53:14 GMT60- 奥运开始了http://www.shnenglu.com/walkspeed/archive/2008/01/02/40241.htmlwalkspeedwalkspeedWed, 02 Jan 2008 07:47:00 GMThttp://www.shnenglu.com/walkspeed/archive/2008/01/02/40241.htmlhttp://www.shnenglu.com/walkspeed/comments/40241.htmlhttp://www.shnenglu.com/walkspeed/archive/2008/01/02/40241.html#Feedback0http://www.shnenglu.com/walkspeed/comments/commentRss/40241.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/40241.html

]]> - 解依?/title>http://www.shnenglu.com/walkspeed/archive/2007/12/29/39906.htmlwalkspeedwalkspeedSat, 29 Dec 2007 01:50:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/12/29/39906.htmlhttp://www.shnenglu.com/walkspeed/comments/39906.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/12/29/39906.html#Feedback3http://www.shnenglu.com/walkspeed/comments/commentRss/39906.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/39906.html 解依赖有利于大规模的E序开发。大规模的开发,一个Y件被分成了很多的模块Q解依赖后,q些模块才可能单独开发,Ҏ模块有深入了解的人才能更x与这个模块的开发。大家在交流是关注与依赖的交互,而不是实现的l节Q有利于在更高层ơ上讨论问题?br> 解依赖有利于E序的修改和升?br> 解依赖有利于模块试Q集成测试?br> 解依赖有利于开发库的Ş成?br>
解依赖中有两个总要的概c模块和接口。模块的规模可大可小。大的模块可以是一个库Q甚x一个YӞ的模块是一个函敎ͼ或一个成员。模块的目的是将一个确定的功能包装hQ向外提供一个统一的访问接口。接口是一U声明,表示某个模块有那些能力?br>

]]> - boost正则表达式库单介l?/title>http://www.shnenglu.com/walkspeed/archive/2007/12/28/39823.htmlwalkspeedwalkspeedFri, 28 Dec 2007 06:01:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/12/28/39823.htmlhttp://www.shnenglu.com/walkspeed/comments/39823.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/12/28/39823.html#Feedback0http://www.shnenglu.com/walkspeed/comments/commentRss/39823.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/39823.html
常用的类
boost::regex 正则表达?br>
boost::cmatch 以char数组为容器,存储匚wq回倹{?br>boost::smatch 以std::string为容器,存储匚wq回倹{?br>
boost::regex_match 匚w法
boost::regex_search 查找法
boost::regex_replace 替换法
单例?br>
#include <iostream>
#include <boost/regex.hpp>
int main( int argc, char* argv[] )
{
char *buf = "This is boost::regex example";
boost::regex exampleregex( "boost::regex" );
boost::cmatch result;
if( boost::regex_search( buf, result, exampleregex ) )
{
std::cout << result.str() << std::endl;
}
return 0;
}
注意regex.hpp的包含。要在开发工具中讄boost头文件所在位子?br>

]]> - 中石Ҏ值得买的http://www.shnenglu.com/walkspeed/archive/2007/12/28/39820.htmlwalkspeedwalkspeedFri, 28 Dec 2007 05:15:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/12/28/39820.htmlhttp://www.shnenglu.com/walkspeed/comments/39820.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/12/28/39820.html#Feedback0http://www.shnenglu.com/walkspeed/comments/commentRss/39820.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/39820.html被h操纵了,才变成这栗而问题又回来了,我们该买中石油吗Q?br>
我想应该没有什么别的答案吧Q买Q一定要买?br>看看中石化,化都是什么h根{中xa׃应该实在q个h?br>
他垄断。在q个关乎国家、民族根本利益的行业里,在可预期的时间里q是垄断。垄断就?br>垄断的利润?br>
他是能源。石Ҏ工业C会的血Ԍ想一惛_。中国在加速工业化的过E,能少了石油吗?br>新能源在现在q个能源消费体系里还是很以部分Q还是可怜的)Q作为概忉|没有问题
可是从市场的角度Q他们还没有到动摇石油的底部。要不然国不用打伊拉克啦?br>
他也是资产。每个国安要储备他Q想黄金一P要储备来E_市场?br>
买它Q一定要买?br>
什么时候买。看自己啦?br>
]]> - snmpZ用oid来唯一标识对象http://www.shnenglu.com/walkspeed/archive/2007/08/31/31297.htmlwalkspeedwalkspeedFri, 31 Aug 2007 06:01:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/08/31/31297.htmlhttp://www.shnenglu.com/walkspeed/comments/31297.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/08/31/31297.html#Feedback1http://www.shnenglu.com/walkspeed/comments/commentRss/31297.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/31297.html 可以领用UUID来生成我们需要的唯一标识。但是在snmp中ƈ没有选着UUID来标识每个对象,而是使用
了自p计的Oid。这是ؓ何呢Q本为,UUID虽可以唯一表示对象及其实例Q但是UUID之间没有什?br>关系Q不能Ş成一U结构来表示对象之间的关pR而Oid的显现却能满以上两点,唯一表示对象和显C?br>对象之间的结构,甚至是对象的实例的唯一标识和实例之间的关系?br> q也l我们一个启C,分布式系l中对象的标识除了具有唯一性外Q要有一定显C对象之间关pȝ?br>力,会更好?br>
]]> - 接口设计的要点(接口不应被用者直接销毁)http://www.shnenglu.com/walkspeed/archive/2007/08/07/29457.htmlwalkspeedwalkspeedTue, 07 Aug 2007 01:49:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/08/07/29457.htmlhttp://www.shnenglu.com/walkspeed/comments/29457.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/08/07/29457.html#Feedback1http://www.shnenglu.com/walkspeed/comments/commentRss/29457.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/29457.html阅读全文

]]> - Boost.Bind的基使用http://www.shnenglu.com/walkspeed/archive/2007/07/20/28448.htmlwalkspeedwalkspeedFri, 20 Jul 2007 09:15:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/07/20/28448.htmlhttp://www.shnenglu.com/walkspeed/comments/28448.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/07/20/28448.html#Feedback3http://www.shnenglu.com/walkspeed/comments/commentRss/28448.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/28448.htmlresulttype funname( arglist );
q回值类?函数? 参数列表 );
在Boost.Function中,我们可以方便的定义定义函数对象。不q在定义用来表示cL员函数的函数对象?br>W一个参数是cL针。而且在调用时Q要传入一个类实例的指针。这Lhq不是很方便Q因用?br>要知道类实例。这实际上没有实现解耦。而解耦是我们使用回调或委托设计的一个目标?br>
Z解决q个问题Q我们要使用Boost.Bind?br>
Boost.Bind是一个函数对象工厂。他用来产生我们需要的函数对象。好了,有了它,你可以在你设计中?br>量用Boost.Function。不用再d义类成员函数形式的函数对象啦Q只用定义普通函数对象?br>
一个简单的例子
class CExample
{
public:
bool printstr( const std::string &str )
{
std::cout << "CExample::printstr" << str << std::endl;
return true;
}
};
//定义一个函数对?br>boost::function< bool ( const std::string& ) > printstr;
//用Boost.Bind创徏一个函数对象,赋给printstr
CExample example;
printstr = boost::bind( &CExample::printstr, &example, _1 );
好了Q我们创Z一个函数对象,而且调用时不再需要类实例拉。用Boost.Function和Boost.Bind大大
的简化了Command模式的实现?br>
在上面的例子中要个古怪的对象"_1"。这个叫做站位符Q他代表q个位置有个参数Q但现在q不知道?br>数是什么。_1代表参数列表中的W一个位|上的参数。Boost.Bind一共定义了9个站位符对象。如?br>_1,_2,_3,_4,_5,_6,_7,_8,_9。分别代表参数列表中位子?br>
Boost.Bind产生的函数对象可以直接用,利用上面的例子?br>
bool b = boost::bind( &CExample::printstr, &example, _1 )( "Hello World" );

]]> - Boost.Function的基本?/title>http://www.shnenglu.com/walkspeed/archive/2007/07/18/28272.htmlwalkspeedwalkspeedWed, 18 Jul 2007 05:28:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/07/18/28272.htmlhttp://www.shnenglu.com/walkspeed/comments/28272.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/07/18/28272.html#Feedback2http://www.shnenglu.com/walkspeed/comments/commentRss/28272.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/28272.html
函数指针对设计很有用。它使调用者可以g期调用,调用时机p用者确定。而且可以改变
响应者,以应对不同的要求?br>
C中的函数指针只能用于自由函数。在C++中除了自由函数还有函数对象和cL员函敎ͼq些
C的函数指针是无法用的。这要求能适应C++语言的函数指针。既然C++语言本n没有提供Q?br>那就提供一个库。stl提供了,但是定义了很多类型,使用hq不是很方便Q而且函数参数
的个数被限定在两个以下,更能是备受限制。Boost.Function库提供了一个好的解x案?br>
Boost.Function库可以支持自由函敎ͼ函数对象Q类成员函数。而且参数个数多达10个?br>Boost.Function库利用模板技术来实现。生成的代码有很高的q行效率。本库可以不用编?br>直接使用?br>
Boost.Function的头文g?br>function.hpp
定义一个Boost.Function的对象(是一个返回值类型ؓintQ第一个参数是std::stringcd
W二个参数是floatcLQ?br>
boost::function< int ( std::string, float ) > funptr;
上面q个定义方式是一U容易理解的定义方式。但有些~译器不支持Q如果想更多的编译器
支持Q则用下面这U定义方?br>
boost::function2< int, std::string, float > funptr;
注意模板中有3个类型,而functioncd是boost::function2。应回值类型不计算在参?br>cd中(原因很简单,C++的编译器不会Ҏq回cd不同来区分函数定义的不同Q?br>
int freefun( std::string str, float f )
{
std::cout << str << " : " << f << std::endl;
return 0;
}
class CFun
{
public:
int operator() ( std::string str, float f )
{
std::cout << str << " : " << f << std::endl;
return 0;
}
}
上面定义了一个自由函数和一个函数对象。下面将把他们付lfunction对象?br>
赋gؓ自由函数
funptr = &freefun;
赋gؓ函数对象
CFun fun;
funptr = fun;
以上两种情况的调用方法一_如下
funptr( "float =", 10.0 );
Boost.Function对象要能指向cd原函敎ͼ其定义要如下
class FreeClass
{
public:
int out( std::string str, float f )
{
std::cout << str << " : " << f << std::endl;
return 0;
}
};
boost::function< int ( FreeClass*, std::string, float ) > funptr;
跨^台的定义Ҏ
boost::function3< int, FreeClass*, std::string, float > funptr;
赋值方?br>funptr = &FreeClass::out;
调用Ҏ
FreeClass fc;
funptr( &fc, "float =", 10.0 );

]]> - 领域分析--认识领域分析http://www.shnenglu.com/walkspeed/archive/2007/07/11/27869.htmlwalkspeedwalkspeedWed, 11 Jul 2007 07:54:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/07/11/27869.htmlhttp://www.shnenglu.com/walkspeed/comments/27869.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/07/11/27869.html#Feedback3http://www.shnenglu.com/walkspeed/comments/commentRss/27869.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/27869.html
软g分析的开端一般是需求分析。但是在实践中,发现了很多的问题?br>1 用户的需求ƈ不是有用h出。在和用h软g的风险承担者交谈后Q会常发玎ͼ他们对自己想要的
软gq不是很清楚Q会提出一些笼l的要求。在开发出一个原型后Q他们会修正或更改,甚至推翻他们
的需求。你会发现是你在不断的提出、完善需求,用户或风险承担者只是在裁决你的需求。而这样下?br>你的软g要不断的改,好像遥遥无期?br>2 需求多是一U功能的集合。Y件出来后Q如果有了改动,或在新的目中去复用以前的Y件会发现?br>难。对每个需求,你不得不从头开始?br>
领域分析和需求分析不同,它不是面向功能的。而是面向问题的。这有些像考试中解题。针对特定的?br>题,来提供解x案,q在q个Ҏ的直接指g解出题目。这个直接指导很有意义,应ؓ直接指导?br>C题的Ҏ被应用到解题的q程中(x可实现的Q?br>
领域分析不是对要构造的软gq行全面的分析。而是对Y件涉及到的特定的领域q行分析Q如写多媒体
软gQ你要对韌频领域进行分析)。而领域是与特定的知识相关联的Q如韌频领域中关于音频、视
频编解码知识Q领域分析要搞清楚这个领域中的知识,扑և各知识点中的关系Qƈ对它们进行抽象,?br>成模型。领域分析强调的是问题域。这是说它面对的是一个相对确定的范围。Y件要解决的是一个相
对确定的范围。也有利于测试Y件?br>
领域分析不能代替需求分析,但是可以q需求来对特定的领域q行分析。领域分析后产生的设计要?br>接指导实玎ͼ可以映射到Y件中。由于领域分析是面对问题的,它生的软g不一定能满需求,可能
Ҏ对应不上需求。但是它是特定问题的解决ҎQ可以作Z个机制来支持需求的实现。而且特定
的问题或着说这U反应某个领域中的知识关pȝ软g其对应的是一U稳定的需求,比较Ҏ复用、测?br>和发展?br>
面对需求分析得到是一U应用的要求。而根据Y件涉及的领域q行分析Q得到的是它的基本机制。应?br>是多LQ而机制其实就只有那么几个。根据应用的要求来组合这些机制。这样需求的变化Qƈ不会?br>q多的冲M通过领域分析得到的模型和实现。你要做的是对他们进行组合?img src ="http://www.shnenglu.com/walkspeed/aggbug/27869.html" width = "1" height = "1" />
]]> - 内存泄露和对象泄?/title>http://www.shnenglu.com/walkspeed/archive/2007/05/31/25180.htmlwalkspeedwalkspeedThu, 31 May 2007 02:50:00 GMThttp://www.shnenglu.com/walkspeed/archive/2007/05/31/25180.htmlhttp://www.shnenglu.com/walkspeed/comments/25180.htmlhttp://www.shnenglu.com/walkspeed/archive/2007/05/31/25180.html#Feedback5http://www.shnenglu.com/walkspeed/comments/commentRss/25180.htmlhttp://www.shnenglu.com/walkspeed/services/trackbacks/25180.html操作pȝ描述刎ͼ在进E退出时会销毁它所使用的所有内存空_但这只是
一个模型上的构惛_描述。在实际的操作系l的实现上ƈ不能做到q一炏V?br>因ؓQ要实现在进E退出时销毁它所使用的内存空_pl每个被使用?br>内存I间打一个标Q表CD内存空间被那个q程使用。在q种情况下,?br>果有多个使用内存量的进E,q且被频J的创徏和销毁,那么光记住那?br>q程标致p占用很大的内存空_q是一个很不划的Ҏ。所以在实际
中,操作pȝq没有给每个q程使用的内存空间打标。这P有些内存是
没有被回收的Q如果多ơ开兌个程序就会发玎ͼ有内存被大量的占用,?br>不能被释放?br> 所以那些在E序中只有一个实例,q且是被new出来的对象,也应该主?br>的去手动销毁,而不能依赖程序退出时ql销毁?br>
被new出来的对象其销毁是两个步骤?br> 1 析构对象。条用对象的析构函数Q将对象占用的资源释放掉?br> 2 释放内存。将对象所占用的内存释放掉?br>
如果new出来的对象没有被销毁,会造成q个层面上的泄露?br> 1 对象泄露。他会造成背对象占用的资源也没有销毁或释放。比如在对象
中占有文件的句柄Q在析构时才释放。如果对象泄露了Q这个句柄是不会被释
攄。那个文件会一直被占用。如果文件打开时是独占的,那么及时对象所?br>的程序退ZQ别的程序也别想讉Kq个文g?br> 2 内存泄露。所占用的内存不能被释放?

]]>
һþaþþƷۺҹҹ
|
ձ츾þþþþ|
Ʒþþþþ³|
ҹþþƷ|
þ99Ƶ|
þþƷУСŮ|
þþƷAV͵|
XxŷʸƷþþþþ|
ݺɫþۺͼƬ|
ݺɫþۺ|
˾ƷۺϾþþþ|
99ȾþֻоƷ68|
ľþþƷ|
ŷպĻþþò|
þݺҹҹվ|
뾫Ʒþһ|
˾þۺߴý|
AVպAVþþ|
һþۺ³³|
þþƷ99Ӱ|
Ļþ|
þþþþþþŮ|
ھƷþþþþþɬ
|
þֻоƷ18|
˾þþƷ99
|
99þþƷһ
|
ɫۺϾþþþר|
Ʒþˬ|
ɫþþ99Ʒ|
ɫվwwwþþ|
þþþþþƵ|
þӰԺþ㽶߿ۿ|
99ȳ˾ƷѾþ|
ҹҹþ|
þˬ˾ƷƵ|
þ99Ʒþþþþ벥|
ݺɫۺվþþþþþ|
seguiþùƷ|
Ůþþþþ|
ҹƷþþþþ99|
Ʒþþþ9999|