1. MFC 中很地方都有m_。。。的東西,比如m_hWnd,m_是什麼意思
m_ = member 的縮寫,表示他是一個類的成員變數。
這是MFC的編程的命名規范,當東西多了以後,沒有規范就較難理解和組織。你可以有自己的習慣,不過按照一些既有的規范來起名字可以使代碼明確易讀。
2. C++windows編程時的函數和變數命名技巧
匈牙利命名法-屬性
部分
全局變數
g_
常量
c_
c++類成員變數
m_
靜態變數
s_
類型部分
指針
p
函數
fn
無效
v
句柄
h
長整型
l
布爾
b
浮點型(有時也指文件)
f
雙字
dw
字元串
sz
短整型
n
雙精度浮點
d
計數
c(通常用cnt)
字元
ch(通常用c)
整型
i(通常用n)
位元組
by
字
w
實型
r
無符號
u
描述部分
最大
Max
最小
Min
初始化
Init
臨時變數
T(或Temp)
源對象
Src
目的對象
Dest
這里順便寫幾個例子:
hwnd
:
h
是類型描述,表示句柄,
wnd
是變數對象描述,表示窗口,所以
hwnd
表示窗口句柄;
pfnEatApple
:
pfn
是類型描述,表示指向函數的指針,
EatApple
是變數對象描述,所以它表示
指向
EatApple
函數的函數指針變數。
g_cch
:
g_
是屬性描述,表示全局變數,c
和
ch
分別是計數類型和字元類型,一起表示變數類
型,這里忽略了對象描述,所以它表示一個對字元進行計數的全局變數。
上面就是HN命名法的一般規則。
3. m_pMemDC 是什麼意思 windows編程的很多句柄為什麼是m_開頭的
Windows編程的命名風格採用是匈牙利命名法,由匈牙利籍的程序員查爾斯·西蒙尼發明,後來此人成為微軟的總設計師,因此這種命名也就在Windows編程中被普遍採用。
m_表示這是一個類的成員
p 表示這是一個指針變數
MemDC是memory device context的縮寫, 內存設備描述表(或內存設備內容或顯示裝置內容)的意思。
m_pMemDC就表示這是該指針變數是某個類的成員,指向一個Windows的 內存設備描述表.
隨著編程技術的發展,匈牙利命名法被很多人詬病,認為已跟不上歷史發展的腳步。其實那種風格並不一定重要,重要的是要採用統一的命名方式,這點對團隊開發尤其重要。
4. 為什麼android變數命名多以小寫「m」開頭
這是一個習慣問題,對程序沒有影響。m一般是member成員變數的縮寫,指這個變數是類的成員變數。
5. MATLAB 中的M文件如何命名啊,又不能用漢字,如何命名可以表達程序模擬功能
您好,很高興為您解答。
模擬用英語表達是:simulation,所以你 可以參考這個名字進行命名。
另外,可以附加程序的完成時間,比如這樣命名: simulation_20121226.m
希望可以幫助你,祝學習進步!
6. matlab 編程中創建M文件,命名prog3-1.m 為什麼調用不出來
你好!
要把目錄放在MATLAB可以搜索到得目錄下面一般是
work目錄下
或者你自己新建一個m文件
然後把它復制上去
我的回答你還滿意嗎~~
7. mfc 變數命名為何都以 m_開頭
用m_開頭表示類的成員變數,member的意思
如果是全局變數,則由g_開頭
還有
常量c_開頭 靜態變數s_開頭
8. 編程的時候 命名 方法或變數 詞窮了怎麼辦
首先你看有沒有用處相同的,比如都儲存結果的變數可以用result1,result2來區分,或者用數組,然後只是用來臨時儲存數據的可以用a,b,c,n,m這種簡單的來表示。我的話,全局變數我會用匈牙利命名法,局部變數用駝峰命名法,並且在不同作用域的局部變數是可以相同的.
9. 幾種常見的程序設計中命名規則
幾種常見的程序命名規則
正確並形象地給函數、變數命名,不僅可以增加程序的可讀性,也是程序員編程風格的一種反映。較好的命名習慣,可以有效的提高程序的可維護性。以下介紹幾種常用的變數命名規則。
一、匈牙利命名法:廣泛應用於Microsoft Windows這類環境中。
這種命名技術是由一位能乾的 Microsoft 程序員查爾斯·西蒙尼(Charles Simonyi) 提出的。匈牙利命名法通過在變數名前面加上相應的小寫字母的符號標識作為前綴,標識出變數的作用域,類型等。這些符號可以多個同時使用,順序是先m_(成 員變 量),再指針,再簡單數據類型,再其他。例如:m_lpszStr, 表示指向一個以0字元結尾的字元串的長指針成員變數。
匈牙利命名法關鍵是:標識符的名字以一個或者多個小寫字母開頭作為前綴;前綴之後的是首字母大寫的一個單詞或多個單片語合,該單詞要指明變數的用途。
例如:bEnable, nLength, hWnd。
匈牙利命名法中常用的小寫字母的前綴:
前綴 類型 描述
a Array 數組
b BOOL 布爾
by BYTE 無符號字元
c char 字元
cb Count of bytes 位元組數
cr Color reference value 顏色值
cx,cy Count of x,y(short) 長度
dw DWORD 雙字(無符號長整形)
f Flags 標志
fn Function 函數
g_ Global 全局的
h HANDLE 句柄
i Integer(int) 整數
l Long(long) 長整數
lp Long point 長指針
m_ Data member of a class 類的數據成員
n Short(short) 短整型
np Near point 短指針
p Point 指針
s String 字元串
sz Zero terminated string 以0結尾的字元串
tm Text metric 文本規則
u Unsigned int 無符號整數
ul Unsigned long(ULONG) 無符號長整數
w WORD 無符號短整數
x,y x,y coordinates(short) 坐標
v Void 空
有關項目的全局變數用g_開始,類成員變數用m_。
前綴 類型 例子
C 類 CDocument, CPrintInfo
m_ 成員變數 m_pDoc, m_nCustomers
g_ 全局變數 g_Servers
二、駝峰命名法:近年來越來越流行。
駝峰命名法,正如它的名稱所表示的那樣,指的是混合使用大小寫字母來構成標識符的名字。其中第一個單詞首字母小寫,餘下的單詞首字母大寫。
例如:
printEmployeePaychecks();
函數名中每一個邏輯斷點都有一個大寫字母來標記。
三、帕斯卡(Pascal)命名法:與駝峰命名法類似。
只不過駝峰命名法是第一個單詞首字母小寫,而帕斯卡命名法則是第一個單詞首字母大寫。因此這種命名法也有人稱之為「大駝峰命名法」。
例如:
DisplayInfo();
UserName
都是採用了帕斯卡命名法。
在C#中,以帕斯卡命名法和駱駝命名法居多。
事實上,很多程序設計者在實際命名時會將駝峰命名法和帕斯卡結合使用,例如變數名採用駝峰命名法,而函數採用帕斯卡命名法。
四、下劃線命名法。
下劃線法是隨著C語言的出現流行起來的,在UNIX/LIUNX這樣的環境,以及GNU代碼中使用非常普遍。
4.1 函數的命名
函數名使用下劃線分割小寫字母的方式命名:
設備名_操作名();
操作名一般採用:謂語(此時設備名作為賓語或者標明操作所屬的模塊)或者謂語 賓語/表語(此時設備名作為主語或者標明操作所屬的模塊) 等形式,如:
tic_init();
adc_is_busy();
uart_tx_char();
中斷函數的命名直接使用 設備名_isr() 的形式命名,如:
timer2_isr();
4.2 變數的命名
變數的命名也採用下劃線分割小寫字母的方式命名。命名應當准確,不引起歧義,且長度適中。如:
int length;
uint32 test_offset;
單字元的名字也是常用的,如i, j, k等,它們通常可用作函數內的局部變數。tmp常用做臨時變數名。
局部靜態變數,應加s_詞冠(表示static),如:
static int s_lastw;
全局變數(尤其是供外部訪問的全局變數),應加g_詞冠(表示global),如:
void (* g_capture_hook)(void);
4.3 常量及宏的命名
採用下劃線分割大寫字母的方式命名,一般應以設備名作為前綴,
防止模塊間命名的重復。如:
#define TIMER0_MODE_RELOAD 2
#define TIMER2_COUNT_RETRIEVE(val) ((uint16)(65536 - (val)))
當然,看作介面的宏可以按照函數的命名方法命名,例如:
#define timer2_clear() (TF2 = 0)
#define timer0_is_expired() (TF0)
據考察,沒有一種命名規則可以讓所有的程序員贊同,程序設計教科書一般都不指定命名規則。命名規則對軟體產品而言並不是「成敗悠關」的事,我們不要化太多精力試圖發明世界上最好的命名規則,而應當制定一種令大多數項目成員滿意的命名規則,並在項目中貫徹實施。
10. 為什麼很多java 變數命名都以字母「m」開頭,我在android sdk源碼上看到很多類變數命名都以m開頭,這是講究
應該是一種講究, 習慣問題