c 要注意的問題

2021-05-26 05:38:29 字數 768 閱讀 1251

陷阱一: 

記住,typedef是定義了一種型別的新別名,不同於巨集,它不是簡單的字串替換。比如: 

先定義: 

typedef   char*   pstr; 

然後: 

int   mystrcmp(const   pstr,   const   pstr); 

const   pstr實際上相當於const   char*嗎?不是的,它實際上相當於char*   const。 

原因在於const給予了整個指標本身以常量性,也就是形成了常量指標char*   const。 

簡單來說,記住當const和typedef一起出現時,typedef不會是簡單的字串替換就行。 

陷阱二: 

typedef在語法上是乙個儲存類的關鍵字(如auto、extern、mutable、static、register等一樣),雖然它並不真正影響物件的儲存特性,如: 

typedef   static   int   int2;   //不可行 

編譯將失敗,會提示「指定了乙個以上的儲存類」。 

typedef 定義函式指標: typedef int (*funcname)(int, int); 其中funcname就是 指向返回值為int,引數列表為int, int 的函式指標型別。呼叫函式的時候(funcname是函式指標),應用如下語句:(*funcname)(int, int)

const char * 修飾的是乙個不可修改的字串

char * const str 說的是乙個不可改動的字串指標

C Vector要注意的問題

一 要包含標頭檔案 include 二 要宣告命名空間 using namespace std page 1 c 程式語言中有一種叫做vector的應用方法,它的作用在實際程式設計中是非常重要的。在這裡我們將會為大家 詳細介紹一下c vector的相關應用技巧及基本內容,希望能給大家帶來一些幫助。1...

需要注意的問題

決策樹id3和c4.5的差別?各自優點?boost演算法 cart 回歸樹用平方誤差最小化準則,分類樹用基尼指數最小化準則 gbdt與隨機森林演算法的原理以及區別。優化演算法中常遇到的kkt條件?作用是?最近鄰演算法knn 分類與回歸 l1和l2函式?l1和l2正則項的比較,如何解決 l1 求導困難...

C 類需要注意的問題(一)

可以同時建立多個物件class circle intmain 用circle類建立了10個這種型別的圓,相當於陣列。可以建立指標 include using namespace std class circle void area intmain 程式測試可用。指標物件pcircle指向了已經建立了...