匈牙利命名规范

匈牙利命名规范
匈牙利命名规范

匈牙利命名规范.doc 收藏

几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是ca,以及字符串(以空类型结尾的字符数组)以sz为前缀.这些名字可能会非常古怪.比如说:lpszFoo表示"Foo"是一个指向以空字符为结尾的字符串的长整型指针.

这种方法的优点是使人能够通过变量的名字来辨别变量的类型,而不比去查找它的定义.遗憾的是,这种方法不仅使变量名字非常绕口,而且使改变变量类型的工作变得十分艰巨.在Windows3.1中,整型变量为16为宽.如果我们在开始时采用了一个整型变量,但是在通过30---40个函数的计算之后,发现采用整型变量宽度不够,这时我们不仅要改变这个变量的类型,而且要改变这个变量在这30--40个函数中的名字.

因为不切实际,除了一些顽固的Windows程序员外已经没有人再使用"匈牙利表示法"了.毫无疑问,在某种场合它依然存在,但大部分人现在已经抛弃它了.一般而言,输入前缀是一种糟糕的想法,因为它把变量于其类型紧紧地绑在了一起. 对于30行以下的函数,匈牙利方法一般有优势。

尤其是对界面编程,有优势。

但对于有强烈的算法要求、尤其是有很多抽象类型的C++程序,匈牙利方法简直是一个灾难。

看你用在什么地方。

现在有了很好的IDE工具,如:VC,SourceInsight等.

选中变量,会自动提示告诉你它的声明和定义,这样

匈牙利命名法就没有很大的必要了.

无非就是为了程序可读性较好.

实际上良好的代码书写习惯比强制使用匈牙利命名法更重要.

系统性。整体性。可读性。分类要清楚。要有注释!

匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推广给了全世界的Windows开发人员。下面将介绍匈牙利命名法,后面的例子里也会尽量遵守它和上面的代码风格。还是那句话,并不是要求所有的读者都要去遵守,但是希望读者作为一个现代的软件开发人员都去遵守它。

a Array 数组

b BOOL (int) 布尔(整数)

by Unsigned Char (Byte) 无符号字符(字节)

c Char 字符(字节)

cb Count of bytes 字节数

cr Color reference value 颜色(参考)值

cx Count of x (Short) x的集合(短整数)

dw DWORD (unsigned long) 双字(无符号长整数) f Flags (usually multiple bit values) 标志(一般是有多位的数值)

fn Function 函数

g_ global 全局的

h Handle 句柄

i Integer 整数

l Long 长整数

lp Long pointer 长指针

m_ Data member of a class 一个类的数据成员

n Short int 短整数

p Pointer 指针

s String 字符串

sz Zero terminated String 以0结尾的字符串

tm Text metric 文本规则

u Unsigned int 无符号整数

ul Unsigned long (ULONG) 无符号长整数

w WORD (unsigned short) 无符号短整数

x,y x, y coordinates (short) 坐标值/短整数

v void 空

有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。

前缀类型例子

g_ 全局变量 g_Servers

C 类或者结构体 CDocument,CPrintInfo

m_ 成员变量 m_pDoc,m_nCustomers

VC常用前缀列表:

前缀类型描述例子

ch char 8位字符 chGrade

ch TCHAR 16位UNICODE类型字符 chName

b BOOL 布尔变量 bEnabled

n int 整型(其大小由操作系统决定) nLength

n UINT 无符号整型(其大小由操作系统决定) nLength

w WORD 16位无符号整型 wPos

l LONG 32位有符号整型 lOffset

dw DWORD 32位无符号整型 dwRange

p * Ambient memory model pointer 内存模块指针,指针变

量 pDoc

lp FAR* 长指针 lpDoc

lpsz LPSTR 32位字符串指针 lpszName

lpsz LPCSTR 32位常量字符串指针 lpszName

lpsz LPCTSTR 32位UNICODE类型常量指针 lpszName

h handle Windows对象句柄 hWnd

lpfn (*fn)() 回调函数指针 Callback Far pointer to CALLBACK function lpfnAbort

Windows对象名称缩写:

Windows对象例子变量 MFC类例子对象

HWND hWnd; CWnd* pWnd;

HDLG hDlg; CDialog* pDlg;

HDC hDC; CDC* pDC;

HGDIOBJ hGdiObj; CGdiObject* pGdiObj;

HPEN hPen; CPen* pPen;

HBRUSH hBrush; CBrush* pBrush;

HFONT hFont; CFont* pFont;

HBITMAP hBitmap; CBitmap* pBitmap; HPALETTE hPalette; CPalette* pPalette;

HRGN hRgn; CRgn* pRgn;

HMENU hMenu; CMenu* pMenu;

HWND hCtl; CStatic* pStatic;

HWND hCtl; CButton* pBtn;

HWND hCtl; CEdit* pEdit;

HWND hCtl; CListBox* pListBox;

HWND hCtl; CComboBox* pComboBox;

VC常用宏定义命名列表:

前缀符号类型符号例子范围

IDR_ 标识多个资源共享的类型 IDR_MAINFRAME 1~0x6FFF IDD_ 对话框资源(Dialog) IDD_SPELL_CHECK 1~ 0x6FFF HIDD_ 基于对话框的上下文帮助 HIDD_SPELL_CHECK 0x20001~0x26FF IDB_ 位图资源(Bitmap) IDB_COMPANY_LOGO 1~0x6FFF IDC_ 光标资源(Cursor) IDC_PENCIL 1~0x6FFF

IDI_ 图标资源(Icon) IDI_NOTEPAD 1~0x6FFF

ID_、IDM_ 工具栏或菜单栏的命令

项 ID_TOOLS_SPELLING 0x8000~0xDFFF

HID_ 命令上下文帮

助 HID_TOOLS_SPELLING 0x18000~0x1DFFF

IDP_ 消息框提示文字资源 IDP_INVALID_PARTNO 8~0xDFFF HIDP_ 消息框上下文帮

助 HIDP_INVALID_PARTNO 0x30008~0x3DFFF

IDS_ 字符串资源(String) IDS_COPYRIGHT 1~0x7FFF IDC_ 对话框内的控制资源 IDC_RECALC 8~0xDFFF

Microsoft MFC宏命名规范

名称类型

_AFXDLL 唯一的动态连接库(Dynamic Link Library,DLL)版本

_ALPHA 仅编译DEC Alpha处理器

_DEBUG 包括诊断的调试版本

_MBCS 编译多字节字符集

_UNICODE 在一个应用程序中打开Unicode

AFXAPI MFC提供的函数

CALLBACK 通过指针回调的函数

库标识符命名法

标识符值和含义

u ANSI(N)或Unicode(U)

d 调试或发行:D = 调试;忽略标识符为发行

静态库版本命名规范

库描述

NAFXCWD.LIB 调试版本:MFC静态连接库

NAFXCW.LIB 发行版本:MFC静态连接库

UAFXCWD.LIB 调试版本:具有Unicode支持的MFC静态连接库UAFXCW.LIB 发行版本:具有Unicode支持的MFC静态连接库

动态连接库命名规范

名称类型

_AFXDLL 唯一的动态连接库(DLL)版本

WINAPI Windows所提供的函数

Windows.h中新的命名规范

类型定义描述

WINAPI 使用在API声明中的FAR PASCAL位置,如果正在编写一个具有导出API 人口点的DLL,则可以在自己的API中使用该类型

CALLBACK 使用在应用程序回调程序,如窗口和对话框过程中的FAR PASCAL的位置

LPCSTR 与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*)

UINT 可移植的无符号整型类型,其大小由主机环境决定(对于Windows NT 和Windows 9x为32位);它是unsigned int的同义词

LRESULT 窗口程序返回值的类型

LPARAM 声明lParam所使用的类型,lParam是窗口程序的第四个参数WPARAM 声明wParam所使用的类型,wParam是窗口程序的第三个参数LPVOID 一般指针类型,与(void *)相同,可以用来代替LPSTR

MSDN中给出了一段遵守代码风格和匈牙利命名法的代码参考如下:

1 #include “sy.h”

2 extern int *rgwDic;

3 extern int bsyMac;

4 struct SY *PsySz(char sz[])

6 {

7 char *pch;

8 int cch;

9 struct SY *psy, *PsyCreate();

10 int *pbsy;

11 int cwSz;

12 unsigned wHash=0;

13 pch=sz;

14 while (*pch!=0)

15 wHash=wHash<>11+*pch++;

16 cch=pch-sz;

17 pbsy=&rgbsyHash[(wHash&077777)%cwHash];

18 for (; *pbsy!=0; pbsy = &psy->bsyNext)

19 {

20 char *szSy;

21 szSy= (psy=(struct SY*)&rgwDic[*pbsy])->sz;

22 pch=sz;

23 while (*pch==*szSy++)

24 {

25 if (*pch++==0)

26 return (psy);

27 }

28 }

29 cwSz=0;

30 if (cch>=2)

31 cwSz=cch-2/sizeof(int)+1;

32 *pbsy=(int *)(psy=PsyCreate(cwSY+cwSz))-rgwDic;

33 Zero((int *)psy,cwSY);

34 bltbyte(sz, psy->sz, cch+1);

35 return(psy);

36 }

(国际贸易)各国海关进口货物管控要求

(国际贸易)各国海关进口货物管控要求

各国海关进口货物管控要求? 2009-02-12 各国海关进口货物管控要求? 北美洲 美国 (1)从2005年7月1日开始,所有进口至美国的鞋样必须提供详细的品名、成分、样式等物品资料,否则将导致清关延误。 (2)从2005年5月1日开始,禁止木质包装(包括原木包装、三合板包装等)物品进口至美国,但非原木包装的物品目前仍能够通过DHL中转,请于发件时留意包装,避免产生问题。 (3)从2005年3月1日起,所有进口到该国的食品、动植物产品和化妆品壹律不能以快件方式进口,否则,将可能被处US$5000到US$10000不等的罚金。 西欧 法国 (1)高价值快件的进口:对于申报价值高于USD20的快件,于清关时需收件人提供关联文件协助的:若于20日之内未接到发件人或收件人关于如何处理的回复时,法国海关将会对此类扣关件做以下操作中费用较低的壹种: 1)退回给发件人,退件费和关税全部由发件人支付。 2)于海关销毁,发件人需要支付400欧元的手续费。 (2)特殊费用征收:单件重量超过30公斤的货物,需加收USD25的特别操作费。 英国 从2005年5月10日开始,所有食品类产品(包括动物产品、鱼类、昆虫类、水果、疏菜等)壹律禁止进口英国,壹旦发现,立即退回发件地,且英国卫生部门会征收最低140英镑的扣押费,关联费用将直接向发件公司收取。 意大利 意大利海关最新规定:从2005年7月1日开始,所有从中国进口至该国的纺织品恢复配额制度。从即日开始,海关只接受已有配额证的纺织品的进口申报,且关联外贸部门不再接受新的配额申请,否则将由海关自动退回或罚款,关联费用直接向发件公司收取。 东欧

各国物流快递限制

你不得不知的全球各国物流快递限制盘点 四大快递,独占国际物流快递运输的前排,那么相对于的很多地区国家,因为各种因素等限制,也有他们到不了的地方,下面奉上各个国家的限制。 台湾 接香港UPS通知,所有寄往台湾的货件,如属于一票多件(即一票一件除外),均需提供“Packing List(包装清单)”才能接受中转,否则UPS将会拒收或货到当地会产生清关延误,由此产生的一切后果及费用,由寄件人承担。 AO:每票不可以超出250KG,否则将被退回。 安哥拉 每票不可以超出70KG否则将被退回;且不接受纺织品;5大快递都一样。且此国家不接受第三方支付运费。个人微信:cjhx090110 尼日利亚 DHL运费不高,但到目的地后会无故向收件人收相关费用;单件超过70kg或单票超过300kg,超过拒收。 巴西

(1)这个操碎了心的地方!接香港DHL通知,巴西海关规定,所有寄给当地私人的物品,同样的货物数量不能超过3PCS,否则海关将拒绝清关而直接安排货件退回发货地(退件前不会有任何通知),所产生的一切运费均由发货人承担。 同样的产品数量如果超过3PCS,只能寄给公司,不能寄给个人,而且须以正式清关的模式进口。如货件需正式清关,则收件人必须在当地海关有备案登记,且需要雇佣一家清关代理公司来协助办理清关手续。收件人也可以选择DHL为清关代理。如选择DHL为清关代理,收件人需要提供清关委托书和清关指令给DHL,该服务会有额外的手续费,且关税及所有费用都只能由收件人支付,不能转由发件人支付。 收件人也可以使用自己的清关代理。目前巴西只有圣保罗的VCP和GRU两个口岸可以办理正式清关手续,如收件人不在这两个口岸城市,收件人可以到这两个口岸办理清关手续,也可以申请将货物转至就近的海关监管中心(会有额外费用产生)来处理。由于巴西DHL在当地并没有保税转运货物的权限,所以需交给第三方代理来做,由此产生的仓租和转运费等相关费用需直接支付给代理。 (2)此国家不接受无费用弃件,目的地清关失败,发件人选择弃件,需要支付每票至少50欧元的弃件费,否则,国外会安排到付退回。 (3)DHL到巴西的需要收件人税号。 (4)城市GURUPI偏远,并且不接受关税到付,一些偏远区或是未列明地区,税款必须由寄件人付。货物在运单和发票上没有备注VAT NO. (收件人增值税号) 将不做任何通知,直接退回始发地。 澳大利亚

各国关税起征点及查询方法

各国关税起征点及查询方法 上次有客户提到关于各国关税起征点的问题,今天威时就为大家整理了关于常用国家的关税起征点,和增值税,关税的算法: 英国税率起征点:15英镑(22欧元) 关税起征点:135英镑 综合关税的组成:VAT(增值税) + DUTY(关税) + ADV (清关杂费) VAT = (货值(向海关申报) + 运费 +DUTY) DUTY (关税)= 货值 X 产品税率 澳洲起征点:1000澳币 综合关税的组成:DUTY + GST + ADV (清关杂费) GST = VAT(货值 (向海关申报) +运费 + DUTY)X 10 % DUTY = 货值 X 税率 美国起征点:200美金 综合关税的组成:DUTY (关税) + ADV (清关杂税) DUTY = 货值 X 税率 欧盟起征点22欧元 综合关税的组成:VAT = (货值(向海关申报) + 运费 +DUTY)X 19% DUTY = (货值 +运费 70% )X 产品税率 加拿大加币 20 欧盟成员国(英国、法国、德国、意大利、荷兰、比利时、卢森堡、丹麦、爱尔兰、希腊、葡萄牙、西班牙、奥地利、瑞典、芬兰、马耳他、塞浦路斯、波兰、匈牙利、捷克、斯洛伐克、斯洛文尼亚、爱沙尼亚、拉脱维亚、立陶宛、罗马尼亚、保加利亚) 欧元22 澳洲和纽西兰澳元 1000

俄国卢布 10000 拉丁美洲美金 50 高于美金50元的包裹容易遗失 日本美金 130 =日币13542 。 新加坡美金 307=新币387。 巴西美金 46 =里尔109.7。 新西兰美金 308(包括运费) 以下是各国关税查询网址: 欧盟 http://ec.europa.eu/taxation_customs/dds/tarhome_en.htm 日本 http://www.customs.go.jp/tariff/2010/index.htm 加拿大(中国适用GPT税率) http://cbsa-asfc.gc.ca/trade-commerce/tariff-tarif/2010/01-99/tblmod-eng.html 挪威 http://www.toll.no/templates_TAD/Tolltariffen/StartPage.aspx?id=164540&epslangu age=EN 瑞士 http://xtares.admin.ch/tares/home/homeFormHandler.do;jsessionid=Lc9xQFwJhKcm 2T012NBNqCFBw1hsxmvjBf5CMMx6GsNDqYP06yLh!-1750961295? 俄罗斯 https://www.360docs.net/doc/4214642182.html,/ 澳大利亚(中国适用DCS税率) https://www.360docs.net/doc/4214642182.html,.au/site/page5663.asp#tariff490 新西兰 https://www.360docs.net/doc/4214642182.html,/library/Working+Tariff+of+New+Zealand/default.htm 巴基斯坦 https://www.360docs.net/doc/4214642182.html,.pk/newcu/TARIFF/Tarrif20082009.asp

西班牙命名法

匈牙利表示法: 它通过在每一个表示符名字的前面放置一个数据类型助记符,为程序员提供了对标识符的即时识别。 《1》MFC、句柄、控件及结构的命名规则。 Windows类型样本变量MFC类样本对象 HWND hWnd CWnd* pWnd HDLG hDlg CDialog* pDlg HDC hDC CDC* pDC HGDIOBJ hGdiObj CGdiObject* pGdiObj HPEN hPen CPen* pPen HBRUSH hBrush CBrush* pBrush HFONT hFont CFont* pFont HBITMAP hBitmap CBitmap* pBitmap HPALETTE hpalette CPalette* pPalette HRGN hRgn CRgn* pRgn HMENU hMenu CMenu* pMenu HWND hCtl CState* pState HWND hCtl CButton* pButton HWND hCtl CEdit* pEdit HWND hCtl CListBox* pListBox HWND hCtl CComboBox* pComboBox HWND hCtl CScrollBar* pScrollBar HSZ hszStr CString pStr POINT pt CPoint pt SIZE size CSize size RECT rect CRet rect 《2》一般前缀命名规范 前缀类型实例 C 类或结构CDocument,CPrintInfo m_ 成员变量m_pDoc, m_nCustomers 《3》变量名规范 前缀类型描述实例 ch char 8为字符chGrade ch TCHAR 如果_UNICODE定义,为16位字符chName b BOOL 布尔值bEnabled n int 整型(其大小依赖于操作系统)nLength n UNIT 无符号值(其大小依赖于操作系统)nLength w WORD 16位无符号值wPos l LONG 32位有符号整型lOffset dw DWORD 32位无符号整型dwRange p * 指针pDoc lp FAR* 远指针lpDoc

Access 命名规则

Access 命名规则: 网址:https://www.360docs.net/doc/4214642182.html, 好的命名规则让你受益终生 为什么在程序编写中需要遵循一个好的命名规则呢。 首先,统一的命名标准能够让你的代码始终保持一致的风格,便于你自己看懂,也便于与别的开发人员交流和沟通,实际上,这些标准也是一种语言,这是你们沟通最好的媒介,有了它,你甚至不需更多的解释,对方就能看懂你的程序。 1.编程老手可能会长期用隐含错误的方式编程(习惯成自然),发现毛病后都不愿相信那是真的! 2.编程高手可以在某一领域写出极有水平的代码,但未必能从全局把握软件质量的方方面面。 3.在团体开发中,一个好的命名规则能够最大限度的实现程序共享,加快开发进度。让协作者、后继者和自己在现在或将来很久以后,在最短的时间内看清你的程序结构,理解你的设计思路。从而大大提高代码的可读性、可重用性、可移植性。 4.通过命名注入更多的信息在源代码中,可以使你的程序易读和易于维护,减少一些隐性错误,同时大大缩短你写程序注释和程序文档的时间,因为你的命名实际上已经是一种程序注释。 5.提高与ACCESS对象协作的能力,包括对象的排序,自已函数库的编写,以及查找与替换的能力,例如你更容易把报表和窗体对象、表和查询对象分开并按照一定的规则排序。 6.有利于程序编写工具的开发,可以编写自己的加载项并遵守好的命名规则来加快程序代码的编写、排版以及自动纠错。如全局查找与替换工具、代码分析与优化工具、报表自动生成工具等等。 7.更易于发现代码的错误并更易于修正错误,当系统的要求实现的功越来越复杂或当代码量到达一定的规模, 不管程序员是否愿意, 出现错误几乎都是不可避免的,但如果大家都遵循一定的编程标准,则可以最大限度地降低错误出现的机率, 而且在出现错误的情况下也能迅速地发现和排除。 8.长期遵循一个好的命名规则能让你长期稳定地编写高质量、高效率和更大型的程序。 LNC for Microsoft Access 命名规则简介: LNC即Leszynski Naming Convention,原来在《The Leszinski/Reddick Guidelines for Access 1.x,2.x》这本白皮书中由Stan Leszynski 和Greg Reddick 推荐使用的命名规则,LNC 开始于Access 1.0这个版本,后来随着ACCESS版本的升级,这个命名规则就被迅速传播开来,在当今ACCESS和VB开发者和开发团体中,它已经成为事实中的命名标准,在国外已经广泛被使用,并被微软推荐使用,它规范了从ACCESS数据库设计、窗体与报表的设计以及程序的编写一整套完整且易用的命名标准,我看过国内许多VB和ACCESS源程序,但很少人,特别在ACCESS程序员中,注意到命名规则并遵循某种命名约定,这给程序交流造成了很大的困难,同时,由于程序员自己没有一套标准的命名规则,在编写过程中随意命名,随着时间的推移,自已都难以阅读和修改以前的程序源码。

各国清关单据

欧共体 ①商业Fa票;②原产地证明书;③优惠转运单据;④欧共体外部转运单据;⑤货物流转证明 阿尔巴尼亚 ①商业Fa票;②原产地证明书;③提单 奥地利 ①商业Fa票;②原产地证明书;③提单;④植物许可证;⑤卫生证书;⑥药物许可证 保加利亚 ①商业Fa票(3份);②原产地证明书;③对植物及由植物产品制成的材料,应有卫生检验证明;④动物制品,须提供兽医检查证明(1份);⑤食品需质量证书(1份) 直布罗陀 ①商业Fa票(2份);②原产地证明书;②卫生检疫证明, 匈牙利 ①商业Fa票(5份);②原产地证明书(1份);③植物检疫证书,用于植物、植株、花卉、果实、花蕾、植物种子和粮食 冰岛 ①商业Fa票(2份);②货物流转证明;③卫生检疫证书.用于活体植物、植物标本、洋葱、西红柿、花种、土豆新鲜蔬菜 马耳他 ①商业Fa票(3份),发票上应由厂家、供货人或两者的授权人签署的证明:"兹证明,此价

值××的装货单准确无误,有关商品的详情、实际已付价格或应付包括运输和保险的价格以及实际商品数量的陈述详实可靠,未向何人提供此单所列商品的不同装货清单";②原产地证明书;③卫生证书,用于新鲜、冷冻、冰冻和腌制的肉类、猪油、新鲜西红柿,马铃薯种、干草、稻草、麦秆、棉籽、面粉;④植物检疫证书,用于农产品;⑤对于培根肉和火腿,要求有生产国授权的政府官员发给有关腌制过程的证书;⑥对于肉类,应有动物宰杀前无病的证明书;⑦对于家禽和蛋品,要求有原产国的兽医证书 波兰 ①商业Fa票(3份);②原产地证明书(2份);③卫生检疫证书和分析证书,用于食品和植物;④质量证书,用于家用电器、汽车、暖气设备和电子产品 罗马尼亚 ①商业Fa票(7份);②原产地证明书 挪威 ①商业Fa票(2份);②原产地证明书 俄罗斯 ①商业Fa票(2份);②原产地证明书;③安全检验证书,用于儿童用品、食品、与食品相关的商品、日用化学品、化妆品、香料、家用电器、农药、化肥、石油产品、运输工具、狩猎及体育用枪支、家具等;④兽医证明,用于动物、动物制品、来自动物的初级产品(包括生毛)及饲料等;⑤卫生检疫证明,用于农业以及观赏和造林的种子和植物种子、农林业产品 斯洛伐克 ①商业Fa票(2份)②原产地证明书;③兽医证明,用于活牲畜、动物原料及制品;④植物

1比较著名的命名规则首推匈牙利命名法

1比较著名的命名规则首推匈牙利命名法, 这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。 其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。 匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀; 前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。 例如:lpszStr, 表示指向一个以'\0'结尾的字符串(sz)的长指针(lp)变量。 2骆驼(Camel)命名法近年来越来越流行, 在许多新的函数库和Java这样的平台下使用得当相多。 骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。 例如:printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。 3帕斯卡(Pascal)命名法与骆驼命名法类似。 只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。例如:DisplayInfo()和UserName都是采用了帕斯卡命名法。 在C#中,以帕斯卡命名法和骆驼命名法居多。 事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用, 例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。 4下划线命名法。 下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。 本章所述的命名规则主要基于下划线命名法发展而来。 5 函数的命名 函数名使用下划线分割小写字母的方式命名: 设备名_操作名()

世界各国针对进口产品所需的认证资料

世界各国针对进口产品所需的认证资料 欧盟的CE 认证(丹麦、挪威、芬兰、瑞典、土耳其、):欧洲共同市 场安全标志,是一种宣称产品符合欧盟相关指令的标识。使用CE标志是欧盟成员对销售产品的强制性要求。 欧盟ROSH认证 德国GS安全认证标志:是一种经政府授权由特殊的TUV法人机构实施的一种世界各地进行产品销售的欧洲认证标志。 北美CSA认证安全标志:加拿大标准协会(Canadian Standards Association)为加拿大最大的安全认证机构,也是世界上最著名的安全认证机构之一。 北欧四国安全认证标志Nordic 美国UL认证安全标志:产品的安全认证和经营安全证明业务,其最终目的是为市场得到具有相当安全水准的商品 美国ETL认证:任何电气、机械或机电产品只要带有ETL检验标志就表明它是经过测试符合相关的业界标准。 日本PSE 认证:日本产品安全标志 韩国EK-MARK 认证: 新加坡PSB认证:新加坡消费品保护法规1991指定新加坡标准,生产力和创新委员 作为产品安全职能机构,负责对消费者保护(安全要求)注册方案(CPS)涉及的产品进行许可和注册。只有带“SAFETY”标志的注册产品才能在新加坡销售。 瑞士SEV认证:非欧盟国家,在产品认证方面未加入欧盟的CE制度。因此瑞士的产 品法规有自己的要求,瑞士的SEV低电压产品法规规定:进入瑞士市场的电子电气产品需要取得S-PLUS标志。此标志包含了产品的安全性也涵盖了电磁兼容(EMC)的要求。 波兰B标志认证:是波兰目前的强制性认证。出口到波兰的电子电气产品都必须通过B标志认证。B标志涵盖产品安全、电磁兼容和卫生要求。 匈牙利 MEEI Mark认证:电工产品实验是依据关于人身、健康、财产安全的有关规定,按照匈牙利的电气标准而进行的强制实验。 俄罗斯GOST、PCT认证:自1995年俄罗斯联邦法律《产品及认证服务法》颁 布之后,俄罗斯开始实行产品强制认证制度,只要获得了俄国家带有PCT标志的GOST证书,就等于拿到了进入俄罗斯国门的通行证。

英语常见缩写

PC:个人计算机Personal Computer CPU:中央处理器Central Processing Unit CPU Fan:中央处理器的“散热器”(Fan) MB:主机板MotherBoard RAM:内存Random Access Memory,以PC-代号划分规格,如PC-133,PC-1066,PC-2700 HDD:硬盘Hard Disk Drive FDD:软盘Floopy Disk Drive CD-ROM:光驱Compact Disk Read Only Memory DVD-ROM:DVD光驱Digital Versatile Disk Read Only Memory CD-RW:刻录机Compact Disk ReWriter VGA:显示卡(显示卡正式用语应为Display Card)

AUD:声卡(声卡正式用语应为Sound Card) LAN:网卡(网卡正式用语应为Network Card) MODM:数据卡或调制解调器Modem HUB:集线器 WebCam:网络摄影机 Capture:影音采集卡 Case:机箱 Power:电源 Moniter:屏幕, CRT为显像管屏幕, LCD为液晶屏幕

USB:通用串行总线 Universal Serial Bus,用来连接外围装置 IEEE1394:新的高速序列总线规格Institute of Electrical and Electronic Engineers Mouse:鼠标,常见接口规格为PS/2与USB KB:键盘,常见接口规格为PS/2与 USB Speaker:喇叭 Printer:打印机 Scanner:扫描仪 UPS:不断电系统 IDE:指IDE接口规格 Integrated Device Electronics,IDE接口装置泛指采用IDE接口的各种设备 SCSI:指SCSI接口规格 Small Computer System Interface,SCSI接口装置泛指采用SCSI接口的各种设备

c语言函数命名规范

竭诚为您提供优质文档/双击可除 c语言函数命名规范 篇一:c语言命名规则 匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的 命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理 解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推 广给了全世界的windows开发人员。下面将介绍匈牙利命名法,后面的例子里也会尽量遵守 它和上面的代码风格。 aarray数组 bbool(int)布尔(整数) byunsignedchar(byte)无符号字符(字节) cchar字符(字节) cbcountofbytes字节数 crcolorreferencevalue颜色(参考)值 cxcountofx(short)x的集合(短整数)

dwdwoRd(unsignedlong)双字(无符号长整数) fFlags(usuallymultiplebitvalues)标志(一般是有多位的数值) fnFunction函数 g_global全局的 hhandle句柄 iinteger llong lplongpointer m_datamemberofaclass 成员 nshortint ppointer sstring szzeroterminatedstring 符串 tmtextmetric uunsignedint ulunsignedlong(ulong)整数长整数长指针一个类的数据短整数指针字符串以0结尾的字文本规则无符号整数无符号长整数 wwoRd(unsignedshort)无符号短整数

一种基于能量最小化的多目标跟踪算法研究

优先出版 计 算 机 应 用 研 究 第32卷 -------------------------------- 基金项目:国家“八六三“高技术研究发展计划(2011AA110501) 作者简介:李艳萍(1976 -),女,陕西岐山人,讲师,硕士,主要研究方向为信息检索、视频处理(lyp_swj@https://www.360docs.net/doc/4214642182.html,);林建辉(1964 -),男,福建莆田人,教授,博士,主要研究方向为图像处理、数据挖掘. 一种基于能量最小化的多目标跟踪算法研究 李艳萍1,林建辉2 (1.西南交通大学 机械工程学院,成都 610031;2.西南交通大学 牵引动力国家重点实验室,成都 610031) 摘 要:现有的多目标跟踪算法只关注生成所有目标的区分性运动和外观模型,如果目标的场景拥挤,掩蔽频繁,外观 相似,则很难找到合适的描述符将这些目标区分开。鉴于此,本文基于一种在线学习条件随机场模型对跟踪问题进行建 模,并将其转化为能量最小化问题。最后提出一种近似算法,可用于高效确定能量成本低、质量高的跟踪问题的解。基 于3种公共数据集对本文算法进行评估,实验结果表明,本文算法相对其他几种最新算法,具有很大的性能提升,无论 在区分外观相似且空间距离较近的目标方面,还是在处理摄像机运动方面,本文算法的性能均很优异。 关键词:多目标跟踪;外观模型;描述符;能量函数;踪迹碎片;近似算法 中图分类号:TP391 文献标志码:A Research on multi-target tracking algorithm based on energy minimization LI Yan-ping 1, LIN Jian-hui 2 (1. School of Mechanical Engineering, Southwest Jiaotong University, Chengdu 610031, China; 2. Traction Power State Key Laboratory of Southwest Jiaotong University, Chengdu 610031, China) Abstract: Multi-target tracking is an important but difficult project in computer vision field, the existing multi-target tracking algorithm which only focus on producing discriminative motion and appearance models for all targets, it is difficult to find descriptors to distinguish targets in crowded scenes with frequent occlusions and similar appearances. In order to this problem, the tracking problem is modeled by using an online learned CRF model, and is transformed into an energy minimization problem. Finally, an approximation algorithm is proposed for efficiently finding good tracking solutions with low energy costs. We evaluate our approach on three public data sets, and the simulation results show significant improvements compared with several state-of-art methods. The proposed algorithm is more powerful at distinguishing spatially close targets with similar appearances, as well as in dealing with camera motions. Key Words: multi-target tracking; appearance models; descriptors; energy functions; tracklets; approximation algorithm 0 引言 多目标跟踪是计算机视觉领域研究难度较大的一个重要课 题。它需要在保持所有目标身份的前提下,确定所有目标的轨 迹。人们提出了多种基于关联的跟踪算法[1,2],这些算法往往根 据检测响应或踪迹碎片间的多种信息来确定合适的链接亲和力 (linking affinity),然后通过匈牙利算法、MCMC 等算法确定概 率最大的全局解。然而,如何更好地将不同目标区分开,仍然 是一个关键问题,这影响到基于关联的跟踪算法的性能。如果 目标的场景拥挤,掩蔽频繁,外观相似,则很难找到合适的描 述符来将这些目标区分开。本文提出一种在线学习有条件随机 场模型(CRF)来更好地将不同的目标尤其是空间距离较近、外观 类似的高难度目标区分开。图1给出了应用本文算法时的部分 跟踪示例。 图1应用本文算法时的目标跟踪结果示例 为了确定每一个目标的身份,经常使用运动和外观信息来生成区分性描述符。运动描述符经常基于速度和踪迹碎片间的距离,而外观描述符为了区分不同的目标往往基于全局或局部颜色直方图。另外,线性运动模型在目标跟踪研究中得到了广 泛研究[3,4]。踪迹碎片间的链接概率往往基于两个踪迹碎片对线 性运动假设的满足程度。然而,如果摄像机运动导致观测角度

驼峰命名法&匈牙利命名法

驼峰命名法(Camel-Case) 驼峰命名法(Camel-Case)是电脑程序编写时的一套命名规则(惯例)。 程序员们为了自己的代码能更容易的在同行之间交流,所以才取统一的可读性比较好的命名方式。例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。这样的命名规则不适合所有程序员阅读,而利用驼峰命名法来表示,可以增加程序可读性。 驼峰命名法就是当变量名或函数名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单字以小写字母开始,第二个单字的首字母大写;或每一个单字的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。 驼峰命名法(Camel-Case)一词来自Perl 语言中普遍使用的大小写混合格式,而Larry Wall 等人所著的畅销书《Programming Perl》(O'Reilly 出版)的封面图片正是一匹骆驼。 驼峰命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。 匈牙利命名法 匈牙利(Hungary)命名法是一种编程时的命名规范,又称为HN

原则 匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。 例子 举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。这样可以很容易从变量名看出Switchboard是一个表单,同样,如果此变量类型为标签,那么就应命名成lblSwitchboard。可以看出,匈牙利命名法非常便于记忆,而且使变量名非常清晰易懂,这样,增强了代码的可读性,方便各程序员之间相互交流代码。 历史 据说这种命名法是一位叫Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。现在,大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN变量

各国海关政策及限制

各国海关政策及限制 各国海关政策及限制 南非对低价值ZAR500 ( 约USD 62 )以下的货件,将在海关自动清关,并产生如下费用。海关只会开据当天全部入口货件产生费用的总帐单,不会就各票货件的费用开据发票。若收件人拒付下述费用,将自动向寄件方收 取。 1) 消费税:按货件申报价值的20%征收(所有客户 群); 2)行政费用:若收件人为私人,将有 ZAR68(约USD 8.5)的行政费用产 生。 一、南非进口清关手续 1、南非进口清关手续办理时间 1)周一至周五 09:00-15:00 2)午餐时间 12:30-13:30 3)周日 10:00-15:00 周六休息 2、南非进口清关时间估计 1)文件:1小时 2)低值货物:48小时 3)高值货物:48小时 3、货物价值划分1)国税税率 14 2)低值货物最高限额 50USD 3)高值货物最低限额 0 USD 二、南非禁止进口物品1、危险货物2、植物3、家禽4、易腐败的货物 三、南非进口清关最新规定 1、低值货物包括样品应该开具商业发票,并附在货物上。 2、高值货物(价值高于70美元)必须附带原商业发票和准确的货物申报价值说明。 3、高值货物的发票应该标明关税税目代码。 4、高值货物的发票上还应标明增值税数额和进口代码。 5、海关当局将对没有报关的货物处以罚款和额外费用。如果收件人拒绝支付,无论货物最终被销毁还是退回,发件人应该承担相关费用。 6、海关关税税目号是按照海关商品名称及编码协调制度用名称和数字区分交易产品。HS代码可以加快清关进程,尤其是针对货物上标有陌生的商品描述的清关。 7、在确定销毁货物是否需要任何费用前,需要完成以下的步骤并上交给海关以下文件 1)代理人的证明 2)进口商的证明3)进口方针对海关索赔的书面文件 2)需要在失效期14天以内或者之前转入国家货仓的货物要提供证明文件 8、此外,海关还要求提供: 1)发件方和收件方提供的证明,需阐明理由,给出解释 2)所有的证明必须在公司信件开头签上公司名字 3)所有的相关支持文件必须附上 4)所有确定要销毁的货物,必须在海关的监督下销毁。这种情况下,货物所有者或进口商将承担所有存储,转移和销毁产生的费用。 5)放弃和销毁货物不需要关税,但是需支付暂付款项(罚金)。在我们上交这些文件给南非国税局后,他们会通知我们支付相关费用。请注意价值等于或低于500兰特(62美元)的纳税货物寄往南非时,将自动清关,缴纳为货物申报价值20%的关税。这些费用的账单将寄

匈牙利算法

匈牙利算法(Edmonds算法)步聚: (1)首先用(*)标记X中所有的非M顶点,然后交替进行步骤(2),(3)。 (2)选取一个刚标记(用(*)或在步骤(3)中用(y i)标记)过的X中顶点,例如顶点x ,如果x i与y为同一非匹配边的两端点,且在本步骤中y尚未被标记过,则用(x i)i 去标记Y中顶点y。重复步骤(2),直至对刚标记过的X中顶点全部完成一遍上述过程。 (3)选取一个刚标记(在步骤(2)中用(x i)标记)过的Y中结点,例如y i,如果y i与x为 同一匹配边的两端点,且在本步骤中x尚未被标记过,则用(y i)去标记X中结点x。 重复步骤(3),直至对刚标记过的Y中结点全部完成一遍上述过程。 (2),(3)交替执行,直到下述情况之一出现为止: (I)标记到一个Y中顶点y,它不是M顶点。这时从y出发循标记回溯,直到(*)标 记的X中顶点x,我们求得一条交替链。设其长度为2k+1,显然其中k条是匹配 边,k+1条是非匹配边。 (II)步骤(2)或(3)找不到可标记结点,而又不是情况(I)。 (4)当(2),(3)步骤中断于情况(I),则将交替链中非匹配边改为匹配边,原匹配边改为非 匹配边(从而得到一个比原匹配多一条边的新匹配),回到步骤(1),同时消除一切现有 标记。 (5)对一切可能,(2)和(3)步骤均中断于情况(II),或步骤(1)无可标记结点,算法终止 (算法找不到交替链). 以上算法说穿了,就是从二分图中找出一条路径来,让路径的起点和终点都是还没有匹配过的点,并且路径经过的连线是一条没被匹配、一条已经匹配过交替出现。找到这样的路径后,显然路径里没被匹配的连线比已经匹配了的连线多一条,于是修改匹配图,把路径里所有匹配过的连线去掉匹配关系,把没有匹配的连线变成匹配的,这样匹配数就比原来多1个。不断执行上述操作,直到找不到这样的路径为止。 下面给出此算法的一个例子:

匈牙利命名规范

匈牙利命名规范.doc 收藏 几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是ca,以及字符串(以空类型结尾的字符数组)以sz为前缀.这些名字可能会非常古怪.比如说:lpszFoo表示"Foo"是一个指向以空字符为结尾的字符串的长整型指针. 这种方法的优点是使人能够通过变量的名字来辨别变量的类型,而不比去查找它的定义.遗憾的是,这种方法不仅使变量名字非常绕口,而且使改变变量类型的工作变得十分艰巨.在Windows3.1中,整型变量为16为宽.如果我们在开始时采用了一个整型变量,但是在通过30---40个函数的计算之后,发现采用整型变量宽度不够,这时我们不仅要改变这个变量的类型,而且要改变这个变量在这30--40个函数中的名字. 因为不切实际,除了一些顽固的Windows程序员外已经没有人再使用"匈牙利表示法"了.毫无疑问,在某种场合它依然存在,但大部分人现在已经抛弃它了.一般而言,输入前缀是一种糟糕的想法,因为它把变量于其类型紧紧地绑在了一起. 对于30行以下的函数,匈牙利方法一般有优势。 尤其是对界面编程,有优势。 但对于有强烈的算法要求、尤其是有很多抽象类型的C++程序,匈牙利方法简直是一个灾难。 看你用在什么地方。 现在有了很好的IDE工具,如:VC,SourceInsight等. 选中变量,会自动提示告诉你它的声明和定义,这样 匈牙利命名法就没有很大的必要了. 无非就是为了程序可读性较好. 实际上良好的代码书写习惯比强制使用匈牙利命名法更重要. 系统性。整体性。可读性。分类要清楚。要有注释! 匈牙利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推广给了全世界的Windows开发人员。下面将介绍匈牙利命名法,后面的例子里也会尽量遵守它和上面的代码风格。还是那句话,并不是要求所有的读者都要去遵守,但是希望读者作为一个现代的软件开发人员都去遵守它。 a Array 数组 b BOOL (int) 布尔(整数)

出口到各国货物的限制要求

出口到各国货物的限制要求 因世界各国的海关与服务商的不同要求,导致快件被扣住,而影响了货物的时效中转,以下是世界各国当地海关与服务商的要求及处理的方法,列出来给你参考: (1)到美国的纺织品不能超过10KG,在美国当地可能会导致清关上的延误或是扣关,如您需正常中转,请与收件人联系,并告知能协助清关,或是后果自负。 (2)到日本专线快件,已向香港SGWH申请,如无公司名,只有人名,可以正常中转。(3)到义大利与南非两个国家的鞋,请在鞋底打孔,以便在当地清关,义大利与南非的当地海关不接受有成品的鞋进口。 (4)到美国,澳大利亚,纽西兰这三个国家的快件一律不接受邮箱地址(POBOX),请提供收件人的详细地址,这也是当地政府机构下达的,在当地海关清关时会严查。 (5)到美国的眼镜请提供滴珠证明,以便当地清关。 (6)打火机请提供无气证明,木制包装货物请提供蒸薰证明。 (7)当货物重量比较大时,随货请附带商业发票或是形式发票,发票内容为:收发件人资料,货物的中英文品名,货物的数量及单价与总价。 (8)寄往俄罗斯的包裹,由於俄罗斯海关要求所有包裹的进口,收件人必须亲自到海关清关,因此到达俄罗斯的包裹只接受莫斯科和圣彼得堡两个城市,但文件不受影响 (9)寄往尼日利亚的纺织品,受尼日利亚海关的限制,不能出口 (10)电脑:每票货只能寄一部电脑 (11)冰箱,空调,因有压缩机,不能中转 (12)寄往泰国的铁制品,进口国清关需要检验检疫 (13) 使用快件方式进口由香港中转进口国内,通过中港快件渠道清关进口,可以实现批量进口,费用比正常交税低很多!香港是自由贸易地区,进出口货物不需要关税,从香港中转进口。这才是最适合个人的进口方式(当然也适合想节约成本的公司)。

DHL各国发票要求

各国发票要求(所有原始发票均不接受邮件、传真或者影印件,所提供的正本发票必须是一式三份) 1.发票上有标注:jebel ali,jebel ali free zone,aiport free zone,sharjah free zone的都是UAE免税区的意思,阿拉伯联合酋长国的到迪拜免税区也必须要提供正本合格的盖章发票。(发票必须要有公司抬头、HS编码、公司盖章签名)。 2.中东专线,如果重量超过50KG 申报超USD270 必须提供正本原始盖章发票,没超过此限制可提供普通商业发票中转。 3.伊拉克的必须提供商业发票。 4.南非如果发票是商业发票那就必须要有真正的发件公司抬头,收发件人详细信息,发件公司盖章签名。如果提供为形式发票只要不超过270USD,是可以中转的。 5.厄瓜多尔的发票必须要是正本原始盖章发票,发票必须包含以下信息:1.发货人的标志. 2.商业发票号码. 3.发行日期. 4.发货人及收货人全面的资料(姓名,地址) 5.生产国与品牌 .6.全面介绍每个项目的产品和统一的代码(harmonized codes) .7.内容8) 数量 .9.FOB价格 .10.重量 .11.型号( Model)。 6.土耳其的发票必须要正本原始盖章发票,不接受邮件、传真或影印件。 7.俄罗斯的发票必须要原始正本盖章发票,而且必须交前线客服校验合格。 8.乌干达的发票必须提供商业发票。

9.安哥拉必须提供正本原始盖章发票,发票内容包含:HS编码、收件人(收件公司)税号、收发件人详细信息、发件公司盖章签名。10.寄往黎巴嫩的货件: 1)必须提供原始商业发票,不接受影印发票。发票必须是原始打印出来的,不接受影印和扫描件。必须签名和盖章,必须有公司名称抬头。(货物申报价值超过1000美金,除必须附上原始商业发票外,还要求正式清关)。 2)不接受形式发票。 3)发票不能手写。 4)发票上必须有详细的单独的品名清单申报,提供单价和清楚的货物内容描述等。 5)原始商业发票必须随货。 11.阿鲁巴岛需提供正本盖章发票。 12.津巴布韦需提供正本盖章商业发票。

骆驼命名法

骆驼命名法,帕斯卡命名法和匈牙利命名法 一、匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中。 Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。 匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。 匈牙利命名法中常用的小写字母的前缀: 前缀类型 a 数组(Array) b 布尔值(Boolean) by 字节(Byte) c 有符号字符(Char) cb 无符号字符(Char Byte,没有多少人用) cr 颜色参考值(ColorRef) cx,cy 坐标差(长度ShortInt) dw Double Word fn 函数 h Handle(句柄) i 整型 l 长整型(Long Int) lp Long Pointer m_ 类的成员 n 短整型(Short Int) np Near Pointer p Pointer s 字符串型 sz 以null做结尾的字符串型(String with Zero End) w Word 二、骆驼命名法: 骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

相关文档
最新文档