青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
To Be C++
shaker's Blog
生當作人杰,死亦為鬼雄,至今思項羽,不肯過江東。
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆-60 評論-111 文章-0 trackbacks-0
Boost的狀態(tài)機庫教程(1)
介紹
Boost狀態(tài)機庫一個應用程序框架,你可以用它將UML狀態(tài)圖快速的轉換為可執(zhí)行的c++代碼,而不需要任何的代碼生成器。它支持幾乎所有的UML特征,可以直接了當?shù)霓D換,并且轉換后的c++代碼就像對狀態(tài)機進行一次文本描述一樣具體可讀性。
如何閱讀這個教程
這個教程是以線性閱讀的方式進行的章節(jié)設計。如果你是第一次看這個教程的話,你可以從頭開始讀,到你覺得了解的東西對你手頭的任務來說已經(jīng)足夠時就停止。具體可以這樣:
* 如果你的任務是要實現(xiàn)一個小的、簡單的,并且有很少幾個狀態(tài)的狀態(tài)機,那么下面的“初級主題:秒表”里所講的就差不多夠你用的了。
* 如果你要做一個有很多狀態(tài)的大型狀態(tài)機,你可以看一下“中級主題:數(shù)碼相機”,那里的講解可能對你有幫助。
* 最后,如果你是一個要創(chuàng)建異常復雜狀態(tài)機的用戶,或者是一個想要評估一個Boost狀態(tài)機的設計師的話,你就要看一下“高級主題”部分。并且,我還強烈建議你看一下Rationle里的Limitions部分。
Hello World!
我們將要從一個最簡單程序開始我們的第一步,狀態(tài)圖如下:
對于這個狀態(tài)圖,我們的實現(xiàn)代碼如下:
1
#include
<
boost
/
statechart
/
state_machine.hpp
>
2
#include
<
boost
/
statechart
/
simple_state.hpp
>
3
#include
<
iostream
>
4
5
namespace
sc
=
boost::statechart;
6
7
//
為了避免寫public,下面聲明的類型全部為struct。
8
//
如果你不在乎的話可以把它們都改成class。
9
10
//
我們需要先聲明一下初始狀態(tài),這是因為我們要在定義狀態(tài)機時使用它
11
//
但又不得不在狀態(tài)機這后定義它。
12
13
struct
Greeting;
14
15
//
Boost.Statechart大量應用模板模式。
16
//
派生類必須將自己做為基類模板的第一個參數(shù)。
17
//
18
//
狀態(tài)機必須要知道當其初始化后進行的第一個狀態(tài)。
19
//
這就是為什么Greeting要做為每二個模板參數(shù)。
20
//
(譯者注:也就是說Greeting狀態(tài)是Machine狀態(tài)機初始化后進入的第一個狀態(tài))
21
struct
Machine : sc::state_machine
<
Machine, Greeting
>
{}
;
22
23
//
對于每一個狀態(tài),我們需要為其指明:它屬于哪一個狀態(tài)機,它位于狀態(tài)圖的哪個位置。
24
//
我們用simple_state<>的上下文參數(shù)就可以完成這些指定了。
25
//
對于我們目前的這個簡單的狀態(tài)機來說,上下文就是狀態(tài)機(Machine)
26
//
所以,Machine必須要做為simple_state的第二個模塊參數(shù)。
27
//
(關于上下文參數(shù)的詳細解釋在下一個例子中有)
28
struct
Greeting : sc::simple_state
<
Greeting, Machine
>
29
{
30
//
一旦狀態(tài)機進行一個狀態(tài)的時候,它就要創(chuàng)建一個相應狀態(tài)類的對象(類實例)
31
//
只要狀態(tài)機保持在這個狀態(tài)下,這個對象就會一直存在。
32
//
最后,當狀態(tài)機離開這個狀態(tài)時,對象被銷毀。
33
//
所以,一個狀態(tài)的進入動作就是這個狀態(tài)類的構造器,而它的退出動作則是它的析構類。 Greeting() { std::cout << "Hello World!\n" ; }
//
進入
34
~
Greeting()
{ std::cout
<<
"
Bye Bye World!\n
"
; }
//
退出
35
}
;
36
37
int
main()
38
{
39
Machine myMachine;
40
//
構造完狀態(tài)機后,它并未開始運行。我們要通過調(diào)用它的initiate()來啟動它。
41
//
同時,它也將觸發(fā)它的初始狀態(tài)(Greeting)的構造。
42
myMachine.initiate();
43
//
當我們離開main()函數(shù)時,myMachine將被銷毀,這將導致它銷毀它內(nèi)部的所有活動的狀態(tài)類。
44
//
(譯者注:為什么會說所有?這是因為一個狀態(tài)機可以同時
保持在多個狀態(tài)中,可以參考“高級主題”部分)
45
return
0
;
46
}
這個程序會顯示“
Hello World!”和“
Bye Bye World!
”,然后退出。
posted on 2010-08-16 14:42
shaker(太子)
閱讀(5820)
評論(0)
編輯
收藏
引用
所屬分類:
C++
只有注冊用戶
登錄
后才能發(fā)表評論。
相關文章:
Relocate SVN
又是一個APIHOOK
[zt] Windows APC機制
[zt]談談對APC的一點理解
NtProtectVirtualMemory
【轉帖】Windows網(wǎng)絡體系結構總結
Pro OGRE 3D Programming 中文翻譯版本0.2.0
Boost的狀態(tài)機庫教程 補充
Boost的狀態(tài)機庫教程(3)
Boost的狀態(tài)機庫教程(2)
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
給我發(fā)QQ消息
我的微博
libghttp
win7sp1
<
2011年2月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
留言簿
(25)
給我留言
查看公開留言
查看私人留言
隨筆分類
(52)
C++(37)
Delphi(2)
Utility(10)
Windows Kernel(3)
隨筆檔案
(60)
2014年4月 (1)
2011年12月 (1)
2011年9月 (1)
2011年7月 (1)
2011年5月 (2)
2011年3月 (1)
2011年2月 (3)
2011年1月 (1)
2010年8月 (6)
2010年3月 (1)
2009年11月 (1)
2009年6月 (1)
2009年5月 (1)
2008年8月 (1)
2008年6月 (1)
2008年3月 (1)
2008年2月 (1)
2007年10月 (2)
2007年9月 (1)
2007年8月 (2)
2007年7月 (1)
2007年5月 (2)
2007年4月 (2)
2007年2月 (2)
2006年12月 (7)
2006年11月 (2)
2006年10月 (2)
2006年9月 (12)
精彩blog
#ant
boost源碼剖析
CppExplore
系統(tǒng)設計系列文章
Learning boost
飯中淹的避難所
懶人日志
笑笑小生的博客
沐楓小筑
微妙的平衡
有一些HGE的技巧
鏈接
C++博客
就是這里啦
Code Project
大名鼎鼎的網(wǎng)站 全e文
CSDN.net
感覺是個大雜燴 不專精 不過但凡國內(nèi)的程序員大多也會去那看看的
VC知識庫
VC資料網(wǎng)站 收集的還算多的 不過還需要向CodeProject學習
游戲外掛研究院
算是曾今國內(nèi)眾多外掛高手的根據(jù)地吧 不過人心散了... 難現(xiàn)往日輝煌
搜索
積分與排名
積分 - 139014
排名 - 189
最新評論
1.?re: [ZT]C++ Boost Thread 編程指南
謝謝你的分享。
--ALPg
2.?re: [工具]VSS2005 下載
@周超
用迅雷試試
--shaker
3.?re: [工具]VSS2005 下載
。。。
--。
4.?re: [工具]VSS2005 下載
gdfg
--fd
5.?re: [工具]VSS2005 下載
下不了啊。404錯誤
--周超
閱讀排行榜
1.?[ZT]C++ Boost Thread 編程指南 (20603)
2.?[工具]VSS2005 下載(9356)
3.?C++ Builder 2007 破解文件(6776)
4.?NtProtectVirtualMemory(6680)
5.?[轉]RGB與YUV轉換(6016)
6.?Boost的狀態(tài)機庫教程(1) (5820)
7.?C++Builder2007 安裝辦法(4720)
8.?經(jīng)典的XP主題Luna Element全集(3788)
9.?BCGControlBar Library Professional Edition v9.56(3508)
10.?發(fā)一個mir2的內(nèi)掛代碼(3278)
評論排行榜
1.?write a simple os with asm&c(23)
2.?[工具]VSS2005 下載(13)
3.?BCGControlBar Library Professional Edition v9.56(10)
4.?Visual Assist X v10.3.1534 build 2006.09.02 cracked dll's by Av0id(8)
5.?傳奇2TMD(8)
6.?C++ Builder 2007 破解文件(7)
7.?發(fā)一個mir2的內(nèi)掛代碼(5)
8.?更新了下TMD!幾張截圖(5)
9.?MSDN的Bug!(3)
10.?2007年5月 Windows XP Pro SP2 最新正版驗證破解文件(3)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 shaker(太子)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
羞羞漫画18久久大片
|
亚洲人精品午夜在线观看
|
欧美亚洲三级
|
亚洲国产黄色
|
狠狠色伊人亚洲综合成人
|
狠狠色综合色综合网络
|
红桃视频欧美
|
亚洲国产一区视频
|
亚洲乱码国产乱码精品精98午夜
|
激情校园亚洲
|
99精品视频免费观看
|
亚洲免费黄色
|
亚洲一区二区精品在线观看
|
午夜精品av
|
久久蜜桃资源一区二区老牛
|
久久国产精品久久久久久电车
|
欧美在线高清
|
欧美国产一区二区
|
国产视频一区在线观看
|
亚洲第一毛片
|
国产中文一区
|
亚洲欧洲另类
|
亚洲一区免费
|
美女爽到呻吟久久久久
|
亚洲人成网站影音先锋播放
|
99亚洲伊人久久精品影院红桃
|
亚洲精品中文字幕在线观看
|
亚洲欧美激情四射在线日
|
久久精品免费看
|
欧美人与禽猛交乱配视频
|
国产色产综合色产在线视频
|
欧美国产一区视频在线观看
|
欧美极品aⅴ影院
|
国产精品三级视频
|
精品96久久久久久中文字幕无
|
日韩午夜中文字幕
|
欧美在线视频免费播放
|
亚洲高清影视
|
午夜久久福利
|
欧美激情bt
|
国一区二区在线观看
|
亚洲六月丁香色婷婷综合久久
|
亚洲欧美综合精品久久成人
|
免费在线日韩av
|
亚洲一级在线
|
欧美理论电影在线播放
|
影音先锋一区
|
欧美一区免费视频
|
一区二区日韩
|
欧美激情精品久久久久久大尺度
|
久久都是精品
|
亚洲在线网站
|
亚洲国产精品久久久久
|
亚洲欧美日韩精品在线
|
亚洲成色777777女色窝
|
亚洲午夜av在线
|
亚洲成色www久久网站
|
亚洲女同同性videoxma
|
欧美片第1页综合
|
亚洲激情国产
|
免费久久久一本精品久久区
|
亚洲一区二区免费在线
|
欧美日韩国内
|
99在线|亚洲一区二区
|
欧美激情欧美狂野欧美精品
|
午夜一区不卡
|
国产免费成人
|
欧美一二三视频
|
亚洲欧美日韩在线综合
|
欧美午夜精品久久久久久浪潮
|
亚洲一区二区三区在线视频
|
欧美激情一区二区三区在线视频观看
|
亚洲影视中文字幕
|
国产精品久久久久久久浪潮网站
|
99精品视频免费全部在线
|
欧美成人午夜视频
|
久久综合久久88
|
1024成人
|
欧美激情精品久久久久久大尺度
|
久久美女性网
|
亚洲国产另类久久精品
|
欧美激情精品
|
欧美激情欧美狂野欧美精品
|
亚洲肉体裸体xxxx137
|
亚洲国产一区视频
|
欧美久久久久久久久久
|
欧美久久99
|
亚洲欧美日韩国产成人
|
亚洲一区二区三区乱码aⅴ
|
国产精品网站视频
|
裸体一区二区
|
欧美日韩国产色综合一二三四
|
一本久道综合久久精品
|
亚洲综合999
|
亚洲电影免费在线
|
日韩视频久久
|
国产一区二区激情
|
亚洲国产91精品在线观看
|
欧美精品一区二区三
|
亚洲欧美日韩综合国产aⅴ
|
久久精品国产69国产精品亚洲
|
亚洲区一区二区三区
|
久久精彩免费视频
|
毛片av中文字幕一区二区
|
一区二区三区国产精品
|
亚洲在线视频免费观看
|
亚洲国产精品福利
|
国产精品久久久久久久久久ktv
|
久久成人这里只有精品
|
久久福利资源站
|
99在线观看免费视频精品观看
|
亚洲欧美另类久久久精品2019
|
性8sex亚洲区入口
|
亚洲欧洲午夜
|
亚洲免费在线
|
99re6这里只有精品
|
欧美一区二区免费观在线
|
91久久视频
|
香蕉亚洲视频
|
一本一本a久久
|
麻豆成人av
|
欧美一区影院
|
久久精品亚洲一区二区三区浴池
|
欧美高清视频在线观看
|
久久中文在线
|
国产欧美日韩精品在线
|
亚洲精品在线观看免费
|
亚洲激情av在线
|
久久国产精品久久久
|
亚洲专区在线
|
欧美日本韩国
|
亚洲国产高清视频
|
国产亚洲综合在线
|
亚洲一区二区三区高清
|
中文欧美日韩
|
欧美精品日韩三级
|
亚洲中字在线
|
国产精品对白刺激久久久
|
亚洲电影av
|
在线日韩av片
|
六月丁香综合
|
欧美大色视频
|
在线观看免费视频综合
|
欧美一区二区视频免费观看
|
国产一区二区在线观看免费播放
|
亚洲精品综合久久中文字幕
|
亚洲国产天堂久久综合网
|
欧美一区免费视频
|
久久成人国产
|
国模精品一区二区三区色天香
|
午夜日韩电影
|
久久婷婷丁香
|
国内精品模特av私拍在线观看
|
亚洲综合国产
|
久久精品国产999大香线蕉
|
国产精品永久免费在线
|
亚洲永久网站
|
久久久久国产一区二区三区
|
国产亚洲美州欧州综合国
|
欧美在线观看视频一区二区
|
久久久国产视频91
|
在线播放日韩欧美
|
欧美插天视频在线播放
|
亚洲精品美女
|
欧美在线亚洲综合一区
|
伊人久久大香线蕉av超碰演员
|
久久免费视频在线观看
|
国产精品夜夜嗨
|
亚洲欧美日韩在线高清直播
|
女人色偷偷aa久久天堂
|
美腿丝袜亚洲色图
|
亚洲激情一区二区三区
|
久久精品一区二区国产
|
美女黄色成人网
|
亚洲毛片网站
|
国产精品免费看
|
久久超碰97人人做人人爱
|
欧美 日韩 国产在线
|
国产日韩精品一区观看
|
久久精品99国产精品酒店日本
|
蜜桃伊人久久
|
在线中文字幕不卡
|
国产午夜精品理论片a级探花
|
久久精品视频va
|
最近看过的日韩成人
|
欧美一区二区三区在线观看视频
|
在线电影一区
|
国产精品高清在线观看
|
久久影院午夜片一区
|
亚洲一级片在线观看
|
欧美黄污视频
|
麻豆精品网站
|
欧美一区二区三区视频免费播放
|
亚洲电影欧美电影有声小说
|
国产精品www
|
免费观看不卡av
|
久久久精彩视频
|
欧美一区二区三区喷汁尤物
|
亚洲一区在线观看视频
|
一区二区欧美在线观看
|