青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
To Be C++
shaker's Blog
生當作人杰,死亦為鬼雄,至今思項羽,不肯過江東。
首頁
新隨筆
聯系
聚合
管理
隨筆-60 評論-111 文章-0 trackbacks-0
Boost的狀態機庫教程(1)
介紹
Boost狀態機庫一個應用程序框架,你可以用它將UML狀態圖快速的轉換為可執行的c++代碼,而不需要任何的代碼生成器。它支持幾乎所有的UML特征,可以直接了當的轉換,并且轉換后的c++代碼就像對狀態機進行一次文本描述一樣具體可讀性。
如何閱讀這個教程
這個教程是以線性閱讀的方式進行的章節設計。如果你是第一次看這個教程的話,你可以從頭開始讀,到你覺得了解的東西對你手頭的任務來說已經足夠時就停止。具體可以這樣:
* 如果你的任務是要實現一個小的、簡單的,并且有很少幾個狀態的狀態機,那么下面的“初級主題:秒表”里所講的就差不多夠你用的了。
* 如果你要做一個有很多狀態的大型狀態機,你可以看一下“中級主題:數碼相機”,那里的講解可能對你有幫助。
* 最后,如果你是一個要創建異常復雜狀態機的用戶,或者是一個想要評估一個Boost狀態機的設計師的話,你就要看一下“高級主題”部分。并且,我還強烈建議你看一下Rationle里的Limitions部分。
Hello World!
我們將要從一個最簡單程序開始我們的第一步,狀態圖如下:
對于這個狀態圖,我們的實現代碼如下:
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
//
我們需要先聲明一下初始狀態,這是因為我們要在定義狀態機時使用它
11
//
但又不得不在狀態機這后定義它。
12
13
struct
Greeting;
14
15
//
Boost.Statechart大量應用模板模式。
16
//
派生類必須將自己做為基類模板的第一個參數。
17
//
18
//
狀態機必須要知道當其初始化后進行的第一個狀態。
19
//
這就是為什么Greeting要做為每二個模板參數。
20
//
(譯者注:也就是說Greeting狀態是Machine狀態機初始化后進入的第一個狀態)
21
struct
Machine : sc::state_machine
<
Machine, Greeting
>
{}
;
22
23
//
對于每一個狀態,我們需要為其指明:它屬于哪一個狀態機,它位于狀態圖的哪個位置。
24
//
我們用simple_state<>的上下文參數就可以完成這些指定了。
25
//
對于我們目前的這個簡單的狀態機來說,上下文就是狀態機(Machine)
26
//
所以,Machine必須要做為simple_state的第二個模塊參數。
27
//
(關于上下文參數的詳細解釋在下一個例子中有)
28
struct
Greeting : sc::simple_state
<
Greeting, Machine
>
29
{
30
//
一旦狀態機進行一個狀態的時候,它就要創建一個相應狀態類的對象(類實例)
31
//
只要狀態機保持在這個狀態下,這個對象就會一直存在。
32
//
最后,當狀態機離開這個狀態時,對象被銷毀。
33
//
所以,一個狀態的進入動作就是這個狀態類的構造器,而它的退出動作則是它的析構類。 Greeting() { std::cout << "Hello World!\n" ; }
//
進入
34
~
Greeting()
{ std::cout
<<
"
Bye Bye World!\n
"
; }
//
退出
35
}
;
36
37
int
main()
38
{
39
Machine myMachine;
40
//
構造完狀態機后,它并未開始運行。我們要通過調用它的initiate()來啟動它。
41
//
同時,它也將觸發它的初始狀態(Greeting)的構造。
42
myMachine.initiate();
43
//
當我們離開main()函數時,myMachine將被銷毀,這將導致它銷毀它內部的所有活動的狀態類。
44
//
(譯者注:為什么會說所有?這是因為一個狀態機可以同時
保持在多個狀態中,可以參考“高級主題”部分)
45
return
0
;
46
}
這個程序會顯示“
Hello World!”和“
Bye Bye World!
”,然后退出。
posted on 2010-08-16 14:42
shaker(太子)
閱讀(5830)
評論(0)
編輯
收藏
引用
所屬分類:
C++
只有注冊用戶
登錄
后才能發表評論。
相關文章:
Relocate SVN
又是一個APIHOOK
[zt] Windows APC機制
[zt]談談對APC的一點理解
NtProtectVirtualMemory
【轉帖】Windows網絡體系結構總結
Pro OGRE 3D Programming 中文翻譯版本0.2.0
Boost的狀態機庫教程 補充
Boost的狀態機庫教程(3)
Boost的狀態機庫教程(2)
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
給我發QQ消息
我的微博
libghttp
win7sp1
<
2025年11月
>
日
一
二
三
四
五
六
26
27
28
29
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
29
30
1
2
3
4
5
6
留言簿
(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
系統設計系列文章
Learning boost
飯中淹的避難所
懶人日志
笑笑小生的博客
沐楓小筑
微妙的平衡
有一些HGE的技巧
鏈接
C++博客
就是這里啦
Code Project
大名鼎鼎的網站 全e文
CSDN.net
感覺是個大雜燴 不專精 不過但凡國內的程序員大多也會去那看看的
VC知識庫
VC資料網站 收集的還算多的 不過還需要向CodeProject學習
游戲外掛研究院
算是曾今國內眾多外掛高手的根據地吧 不過人心散了... 難現往日輝煌
搜索
積分與排名
積分 - 139206
排名 - 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 編程指南 (20605)
2.?[工具]VSS2005 下載(9358)
3.?C++ Builder 2007 破解文件(6780)
4.?NtProtectVirtualMemory(6685)
5.?[轉]RGB與YUV轉換(6020)
6.?Boost的狀態機庫教程(1) (5830)
7.?C++Builder2007 安裝辦法(4724)
8.?經典的XP主題Luna Element全集(3789)
9.?BCGControlBar Library Professional Edition v9.56(3513)
10.?發一個mir2的內掛代碼(3281)
評論排行榜
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.?發一個mir2的內掛代碼(5)
8.?更新了下TMD!幾張截圖(5)
9.?MSDN的Bug!(3)
10.?2007年5月 Windows XP Pro SP2 最新正版驗證破解文件(3)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 shaker(太子)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
在线日本欧美
|
欧美一级日韩一级
|
久久只有精品
|
男人的天堂亚洲在线
|
国产有码一区二区
|
午夜精品一区二区三区电影天堂
|
亚洲免费观看
|
国产精品高潮呻吟久久av黑人
|
久久精品国产一区二区电影
|
亚洲精品四区
|
亚洲精品久久久久久下一站
|
欧美激情a∨在线视频播放
|
亚洲人成在线影院
|
亚洲欧美日韩国产综合在线
|
国产亚洲精品久久久久婷婷瑜伽
|
久久看片网站
|
亚洲精品一级
|
久久国产99
|
亚洲美女尤物影院
|
国产欧美一区在线
|
欧美高清视频在线
|
亚洲欧美日韩一区在线
|
欧美国产日本在线
|
午夜视频在线观看一区二区三区
|
激情久久综艺
|
欧美日韩一区二区三区四区在线观看
|
亚洲在线中文字幕
|
亚洲福利视频二区
|
欧美中文字幕不卡
|
日韩视频欧美视频
|
欧美高清视频一区二区
|
久久精品国产91精品亚洲
|
国产亚洲二区
|
欧美日韩国产精品一卡
|
欧美综合国产
|
一区二区欧美亚洲
|
欧美成人午夜影院
|
欧美在线亚洲一区
|
一区二区三区高清在线观看
|
狠狠色噜噜狠狠狠狠色吗综合
|
欧美日本韩国
|
亚洲精品美女
|
亚洲国产精品高清久久久
|
伊人蜜桃色噜噜激情综合
|
欧美日本国产
|
久久综合久久综合这里只有精品
|
亚洲视频观看
|
亚洲激情视频网
|
美国十次成人
|
久久99伊人
|
亚洲一区国产
|
亚洲精品中文字幕在线观看
|
日韩亚洲国产精品
|
亚洲一区二区三区在线
|
精品999在线播放
|
国产欧美精品一区二区三区介绍
|
亚洲一卡久久
|
亚洲人体偷拍
|
亚洲丁香婷深爱综合
|
久久久久成人网
|
欧美主播一区二区三区美女 久久精品人
|
日韩一级免费
|
亚洲激情在线观看视频免费
|
欧美大片一区二区三区
|
久久婷婷丁香
|
久久精品1区
|
久久电影一区
|
久久久久国产成人精品亚洲午夜
|
亚洲欧美精品suv
|
亚洲综合二区
|
亚洲综合国产激情另类一区
|
亚洲欧美另类国产
|
亚洲尤物视频在线
|
亚洲一区二区三区在线看
|
亚洲一级在线观看
|
亚洲一区免费视频
|
午夜精品免费
|
欧美在线视频一区
|
久久乐国产精品
|
久热精品在线视频
|
卡通动漫国产精品
|
欧美不卡在线
|
亚洲国产成人av好男人在线观看
|
男人天堂欧美日韩
|
亚洲国产精品国自产拍av秋霞
|
亚洲电影毛片
|
99国产精品国产精品毛片
|
一区二区三区国产在线
|
亚洲欧美大片
|
久久精品一区二区三区四区
|
老司机aⅴ在线精品导航
|
免费中文日韩
|
国产精品va在线
|
国产一区二区欧美
|
亚洲国产成人久久综合一区
|
亚洲破处大片
|
亚洲欧美成人网
|
久久综合网络一区二区
|
亚洲福利视频专区
|
亚洲性av在线
|
久久久久欧美精品
|
欧美日韩一区自拍
|
韩国亚洲精品
|
99综合精品
|
久久久久久电影
|
欧美激情一区二区三区在线
|
一区二区三区欧美激情
|
欧美一区二区三区在线看
|
久热成人在线视频
|
国产精品久久久久久久久免费桃花
|
国模叶桐国产精品一区
|
亚洲精品视频在线
|
欧美主播一区二区三区美女 久久精品人
|
久久在线视频
|
久久久久欧美
|
99视频精品全国免费
|
亚洲永久免费
|
美日韩精品视频免费看
|
亚洲精品久久久久久久久久久久
|
亚洲欧美精品一区
|
欧美成人午夜77777
|
国产精品嫩草影院av蜜臀
|
亚洲国产精品黑人久久久
|
亚洲天堂偷拍
|
久久午夜精品
|
一本色道久久综合亚洲精品按摩
|
欧美一区二区三区四区在线观看
|
久色婷婷小香蕉久久
|
欧美日韩性视频在线
|
在线免费观看日本欧美
|
一本色道久久综合精品竹菊
|
久久综合狠狠综合久久综合88
|
欧美va亚洲va日韩∨a综合色
|
亚洲精品一级
|
美女久久一区
|
国产精品美女久久久久久久
|
日韩亚洲一区在线播放
|
久久精品国产综合精品
|
99国产精品国产精品久久
|
欧美一区成人
|
国产精品一区二区在线观看网站
|
国产一区二区成人
|
亚洲丰满少妇videoshd
|
久久久久国内
|
久久综合精品国产一区二区三区
|
亚洲电影下载
|
一本久道综合久久精品
|
欧美ab在线视频
|
国产有码一区二区
|
午夜亚洲福利
|
亚洲精品一区在线观看
|
男女激情久久
|
国产一区二区三区不卡在线观看
|
亚洲欧美在线网
|
亚洲国产日韩欧美在线动漫
|
久久亚洲私人国产精品va
|
国产一区二区三区在线播放免费观看
|
午夜在线观看欧美
|
亚洲欧洲午夜
|
欧美插天视频在线播放
|
国语对白精品一区二区
|
99精品国产高清一区二区
|
男人插女人欧美
|
久久综合亚州
|
影音先锋欧美精品
|
麻豆av一区二区三区
|
午夜视频一区在线观看
|
亚洲欧美国产不卡
|
中日韩美女免费视频网站在线观看
|
欧美国产欧美综合
|
亚洲欧美第一页
|
国产精品国产三级国产
|
午夜精品一区二区三区电影天堂
|
日韩视频久久
|
国产伦精品一区二区三区免费迷
|
亚洲精品一区二区三区福利
|
亚洲黄色av一区
|
欧美网站在线
|
亚洲天堂成人在线观看
|
亚洲一区日韩在线
|
国产精品青草久久
|
久久久久欧美精品
|
99国产精品国产精品久久
|
欧美丝袜第一区
|
久久精品99
|
久久久久久有精品国产
|
亚洲卡通欧美制服中文
|
亚洲人成网站999久久久综合
|
欧美日韩在线一区
|
久久不见久久见免费视频1
|
亚洲在线国产日韩欧美
|
国产午夜精品美女毛片视频
|
欧美精品一区二区三区在线播放
|
美女视频网站黄色亚洲
|
日韩视频在线观看国产
|
亚洲国产综合91精品麻豆
|
欧美视频一区二
|
久久精品视频网
|
久久婷婷综合激情
|
亚洲图片欧美午夜
|