匈牙利命名法规则
一般情况下,变量的取名方式为:
<scope_> + <prefix_> + <qualifier>。
范围前缀_,类型前缀_,限定词。
特殊的类型命名,前缀表示:
类、接口
前缀 |
类型 |
例子 |
备注 |
Lm |
Class |
LmObject |
表示类型本身 |
I |
Interface 接口 |
IUnknown |
注:类名前缀改为Lm,对于非全局的类最好有语义表示其所属模块。类的实例命名与类名大致相同,只是类名语义表示类的通用含义,而类名表示此实例的具体语义。如类名LmSketPoint表示草图点的类定义,而它的两个实例 _StartPoint,_EndPoint分别代表起点和终点的语义。类的实例命名带上前缀_。
特殊约定:
a. MouseTool的派生类的前缀为_Mt.
b. 对话框类的前缀为CDlg.
c. 橡皮条类的前缀为_Rb.
凡围前缀:
前缀 |
类型 |
例子 |
备注 |
g_ |
全局作用域 |
g_Servers |
|
m_ |
成员变量 |
m_pDoc, |
|
l_ |
局部作用域 |
l_strName |
少用 |
注:编程时尽量少用全程变量,对于全程变量还应在类型前缀后加上如下关键字:
特征模块
草图模块
装配模块
工程图模块:
曲面模块
界面模块
前缀 |
类型 |
内存规格描述 |
例子 |
ch |
char |
8-bit character |
chGrade |
ch |
TCHAR |
16-bit character if _UNICODE is defined |
chName |
b |
BOOL |
Boolean value |
bEnabled |
n |
int |
Integer (size dependent on operating system) |
nLength |
n |
UINT |
Unsigned value (size dependent on operating system) |
nLength |
w |
WORD |
16-bit unsigned value |
wPos |
l |
LONG |
32-bit signed integer |
lOffset |
dw |
DWORD |
32-bit unsigned integer |
dwRange |
p |
* |
Ambient memory model pointer |
pDoc |
lp |
FAR* |
Far pointer |
lpDoc |
lpsz |
LPSTR |
32-bit pointer to character string |
lpszName |
lpsz |
LPCSTR |
32-bit pointer to constant character string |
lpszName |
lpsz |
LPCTSTR |
32-bit pointer to constant character string if _UNICODE is defined |
lpszName |
h |
handle |
Handle to Windows object |
hWnd |
lpfn |
(*fn)() |
callbackFar 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; |
Visual C++常用宏定义命名列表
前缀 |
符号类型 |
符号例子 |
范围 |
IDR_ |
标识多个资源共享的类型 |
IDR_MAINFRAME |
1 to 0x6FFF |
IDD_ |
对话框资源(Dialog) |
IDD_SPELL_CHECK |
1 to 0x6FFF |
IDB_ |
位图资源(Bitmap) |
IDB_COMPANY_LOGO |
1 to 0x6FFF |
IDC_ |
光标资源(Cursor) |
IDC_PENCIL |
1 to 0x6FFF |
IDI_ |
图标资源(Icon) |
IDI_NOTEPAD |
1 to 0x6FFF |
ID_IDM_ |
工具栏或菜单栏的命令项 |
ID_TOOLS_SPELLING |
0x8000 to 0xDFFF |
HID_ |
命令上下文帮助(Command Help context) |
HID_TOOLS_SPELLING |
0x18000 to 0x1DFFF |
IDP_ |
消息框提示文字资源 |
IDP_INVALID_PARTNO |
8 to 0xDFFF |
HIDP_ |
消息框上下文帮助(Message-box Help context) |
HIDP_INVALID_PARTNO |
0x30008 to 0x3DFFF |
IDS_ |
字符串资源(String) |
IDS_COPYRIGHT |
1 to 0x7FFF |
IDC_ |
对话框内的控制资源(Control) |
IDC_RECALC |
8 to 0xDFFF |
文章浏览阅读773次。sql注入解决方案mybatis Sql:<if test="safetyPageParam.caseStatus !=null and safetyPageParam.caseStatus != ''"> AND t2.channel_status in (${safetyPageParam.caseStatus})</if>问题: 使..._if test= sql注入怎么改
文章浏览阅读1.2w次。Properties转换成Mapimport java.util.HashMap;import java.util.Map;import java.util.Properties;import java.util.Set;public class Test { public static void main(String args[]){ Properties prope_properties转map
文章浏览阅读165次。在这个人人都是自媒体的时代,每个人都可以通过自媒体展示自己,一部分人做自媒体的动力就是想展现自己好的一面,分享内容,既可以满足自己的心理需求,还能有不错的收入。还有一种人做短视频就是为了赚钱,刚开始需要学习很多东西,也并不是一上来就可以赚钱的。(多用点空闲时间,把它当成自己的一种兴趣爱好去做,只要你肯用心花时间去做,最终肯定会有不错的收益)很多新手小白在刚开始进入短视频行业中时,不知道该如何起步,今天大周就来给大家简单分析一下。无论你是兴趣爱好还是纯粹的想赚钱,刚开始都需要注意这几点:一、用适合自己_在这个人人都是自媒体的时代,只有内容的吸引才能
文章浏览阅读1.2k次。hadamard 变换理论 很多网页都有介绍,我就不拷贝了,给两个链接。 下面的是harvey mudd college 的一个“计算机图像处理分析”课件中哈达玛变换的一个章节 (JASON GARRETT-GLASER x264的主开发就是在这个学校上过学阿。很棒的一个..._fast pseudo-hadamard transform
文章浏览阅读2.7k次,点赞5次,收藏20次。LNMP项目部署介绍项目的生命周期策划:老板+产品+UI设计实施:前端开发(客户端页面)+后端开发(ava php python等)+测试上线:运维维护:运维结束运维工作内容项目策划,实施之初,进行准备工作,学习对应架构和方案服务器上搭建代码版本控制器为测试人员搭建测试环境部署项目上线项目后期维护分布式集群集群:多台服务器在一起作同样的事分布式 :多台服务器在一起作不同的事常用架构负债均衡LB高可用HA数据库主从复制M-S读写分离R-W缓存中_lnmp项目部署
文章浏览阅读1.2k次。adcfgclone.pl - This script will performs the clone configuration in the target machine.During this configuration phase will reconfigure the copied instance after gathering the required information.ad_adcrdb.sh文件下载
文章浏览阅读4.8w次,点赞10次,收藏59次。Random类是一个产生伪随机数字的类,它的构造函数有两种,一个是直接New Random(),另外一个是New Random(Int32 Seed),前者是根据触发那刻的系统时间做为种子,来产生一个随机数字,后者可以自己设定触发的种子。 New Random(Int32 Seed)一般都是用UnCheck((Int)DateTime.Now.Ticks)做为参数种子,因此如果计算机运行速度很_c# random seed
文章浏览阅读5.7k次,点赞3次,收藏2次。前几篇文章介绍了LIRe 的基本接口,以及建立索引的过程。现在来看一看它的检索部分(ImageSearcher)。不同的方法的检索功能的类各不相同,它们都位于“net.semanticmetadata.lire.impl”中,如下图所示:
文章浏览阅读1.2k次。/*====================================================================== PROGRAM getClob.sql AUTHOR 李晓辉====================================================================== CHANGE L_orcale存储过程 select into clob
文章浏览阅读194次。1. 工作流调度系统产生背景一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序,java程序,mapreduce程序、hive脚本等。各个任务单元之间存在时间先后依赖关系。为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;2. 工作流调度实现方式简单的任务调度:直接使用linux的crontab来定义,但是缺点也是比较明显,无法设置依赖。复杂的任务调度:自主开...
文章浏览阅读4.6k次。CentOS7中安装k8s:yum install kubernetes安装K8S出现如下错误提示:Error: docker conflictsError: docker-ce-cli conflicts with 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va _错误:docker-ce conflicts with 2:docker-1.13.1-209.git7d71120.el7.centos.x86_
文章浏览阅读8.1k次。Mycat配置支持的JVM参数是支持1.8_x之前的版本,当JDK升级到1.8_x以后在大数据量操作的时候JVM内存的分配就会存在问题,我们需要做相应的调整以适应这种参数改变,JDK 1.8_x不支持Permgen 。参数需要做的调整为-XX:PermSize=64m -XX:MaxPermSize=128m 变成 -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m 否则在JDK 1.8_x中不生效。_jvm appears hung: timed out waiting for signal from jvm.