当前位置: 首页 > news >正文

第2章,[标签 Win32] :匈牙利标记法

专栏导航

上一篇:第2章,[标签 Win32] :Windows 数据类型

回到目录

下一篇:第2章,[标签 Win32] :兼容 ASCII 字符与宽字符的 Windows 函数调用

本节前言

在初学编程的时候,我们给变量命令的时候,都是使用一些个比较简单的名字。

那是因为,初学编程的时候,代码量比较小,简单好记的名字,足以满足我们的学习需求。

然而,随着代码量的增长,这个时候,我们就需要一套规范,统一地,来对变量的名字,进行命名了。这可以让变量的名字比较规范,整齐,容易看懂。

变量的命名规范有很多,在 Windows 程序设计领域,通行的变量命名规范,叫做匈牙利标记法。

本节,我们的任务,就是来讲述匈牙利标记法。

其实,在本节之前,我们已经部分地讲解了匈牙利标记法。然而,那个时候,并未系统地去讲述。。本节,我们就要比较详细地,来讲解一下匈牙利标记法了。

想要学习本节内容,你最好首先学习过以下的文章链接中的内容。

参考课节:第2章 :Windows 字符数据类型

参考课节:第2章,[标签 Win32] :Windows 数据类型

接下来,我们开始本节的讲解。

一.    匈牙利标记法

所谓的匈牙利标记法,它是说,在变量名的最左边,是由一个或多个小写英文字母组成的东西,用以表明变量的数据类型。我们可以把这一部分,叫做数据类型字段。比如说,h 代表句柄,i 或 n 代表整数,sz 代表【以零结尾的字符串】,等等。

在数据类型字段之后,是单词组合,每一个单词的首字母为大写,其余的为小写。

假定,我们要定义一个 int 型变量,用它来标识屏幕宽度。那么,它的数据类型为 int 型,所以呢,可以用 n 来作为前缀。屏幕宽度,用英文单词表示为 screen width 。所以呢,这个变量的名字,就成了 nScreenWidth 。

本专栏既讲解 Windows API 知识,也会讲解 MFC 的知识。在 MFC 里面,我们还会跟各种类打交道。

如果某一个变量,它是类的成员变量,则我们还需要在原本的匈牙利标记法之前,加上【m_】前缀。

假定我们想要命名的,表示屏幕宽度的变量 nScreenWidth 是一个类的成员变量,则我们需要给它设定的变量名字为 m_nScreenWidth 。

关于匈牙利标记法,基本内容就这些了。

接下来,我们来看一看各种数据类型的前缀表示法。

二.    匈牙利标记法前缀总结表

前缀数据类型
cchar 或 WCHAR 或 TCHAR
cb整数类型,意思是【字节数】
byBYTE,无符号字符
n 或 i整数,int 型或 short 型
xint 型,表示 x 的坐标
yint 型,表示 y 的坐标
cxint 型,表示 x 的长度,c 表示 count(计数)
cyint 型,表示 y 的长度,c 表示 count(计数)
b 或 fBOOL 型,其实是 int 型。f 表示 flag(标志)
wWORD,无符号短整型
lLONG,长整型
dwDWORD,无符号长整型
fn函数,fn 是 function(函数)的简写
lpfn指向函数的长指针。从 32 位操作系统开始,长指针与指针是同样的意思。所以,lpfn,表示的是【函数指针】这一数据类型。
s字符串
sz以零结尾的字符串
h句柄,h 是 handler(句柄)的简写
p指针
lp长指针,从 32 位操作系统开始,p 和 lp 等价。lp 是 long pointer 的意思
psz 或 lpsz指向以零结尾的字符串的指针,其实和 sz 是一个意思。因为,C/C++ 中表示字符串,都是只给出字符指针,而非给出全部字符。
m_这个前缀,主要用于类的成员变量,用作类的成员变量名的前缀。

三.    注意点

(一)BOOL 型前缀,b 与 f

如果某一个变量为 BOOL 型,则通常使用 b 作为前缀。当然了,你也可以使用 f 前缀。在 C/C++ 中,某一个标志变量,常常是作为 BOOL 型来处理的,只使用其 TRUE 与 FALSE 两个值。TRUE 就是 1,数值上与 C++ 数据类型 bool 中的 true 相等。FALSE 就是 0,数值上与 C++ 数据类型 bool 中的 false 相等。

(二)句柄前缀,h

关于【句柄】的概念,我们在之前的讲解中,虽然有提到。但是呢,有可能,此刻,你对它还是缺乏概念。关于【句柄】,在后面,我们会使用到它的。用得多了,你就明白【句柄】这个概念了。

结束语

匈牙利标记法,不算难,但是呢,也确实是需要大家来掌握的一个小知识点。

可能记不住这里的全部的内容。用到了,随时查阅就好了。用得多了,慢慢地就熟悉了。

 专栏导航

上一篇:第2章,[标签 Win32] :Windows 数据类型

回到目录

下一篇:第2章,[标签 Win32] :兼容 ASCII 字符与宽字符的 Windows 函数调用

http://www.dtcms.com/a/270100.html

相关文章:

  • 13届蓝桥杯省赛程序设计试题
  • 字符串大小比较的方式|函数的多返回值
  • 作业03-SparkSQL开发
  • 数字化校园升级:传统网络架构与SD-WAN智能方案对比详解
  • 汽车功能安全-软件单元验证 (Software Unit Verification)【定义、目的、要求建议】6
  • 【数据分析】基于 HRS 数据的多变量相关性分析与可视化
  • uniapp b树
  • C++笔记之使用bitset对uint32_t类型变量对位状态判断
  • 2025年深圳杉川机器人性格测评和Verify测评SHL题库高分攻略
  • 论文略读:Parameter-efficient transfer learning for NLP
  • InstructBLIP:迈向具备指令微调能力的通用视觉语言模型
  • Go语言标识符命名规则详解:工程化实践
  • Spring的依赖注入(xml)
  • RISC-V:开源芯浪潮下的技术突围与职业新赛道 (一)为什么RISC-V是颠覆性创新?
  • 安装 asciidoctor-vscode 最新版
  • 针对 SSD 固态硬盘的安全擦除 Secure Erase
  • Kotlin协程中的Job详解
  • 如何用Python编程计算权重?
  • Anolis OS 23 架构支持家族新成员:Anolis OS 23.3 版本及 RISC-V 预览版发布
  • 数据库设计精要:完整性和范式理论
  • 去掉长按遥控器power键后提示关机、飞行模式的弹窗
  • 数据提取之lxml模块与xpath工具
  • 基于Java+SpringBoot 协同过滤算法私人诊所管理系统
  • 系统架构设计师论文分享-论系统安全设计
  • IoTDB:专为物联网场景设计的高性能时序数据库
  • 把word中表格转成excle文件
  • 基于GeoTools的根据Shp文件生成完全包围格网实战
  • Oracle 存储过程、函数与触发器
  • AI标注平台label-studio之二添加机器学习后端模型辅助标注
  • vue3官方文档学习心得