高效使用
c/c++變數
1、由於變數型別而引效率問題
在加法、減法以及乘法運算中,對整型的操作效率明顯高於針對浮點型和雙精度型別的操作效率,因此,在迴圈中運用整型運算代替浮點型和雙精度型別,將會提高程式的效率。
例子:雙精度型別運算:
double s = 2.5;
for(int i = 0; i < 100; i++)
轉化為整型後的運算:
int s1 = 25;
double s2;
for(int i = 0; i < 100; i++)
s2 = s1/10.0; 2、
由於重複定義和釋放變數而引起的效率問題
定義和釋放變數同樣需要引起開銷,尤其在迴圈中重複的定義和釋放變數將影響程式的記憶體和效能。因此,將迴圈中重複定義和釋放的變數移到迴圈的外面,將會提高程式的效率。
變數定義在迴圈體內部:
for(int i = 0; i < 100; i++) }
變數定義在迴圈體外部:
int k = 0;
for(int i = 0; i < 100; i++) }
3、由於重複呼叫函式而引起的效率問題
呼叫函式將造成較大的開銷,在迴圈中重複呼叫同乙個函式將造成較大的浪費,因此,建立區域性變數,在迴圈體外一次呼叫函式並賦值給區域性變數,在迴圈體內重複使用區域性變數,將提高程式效率.
迴圈體內重複呼叫函式:
int arraysum(array myarray)
return s; }
迴圈體外呼叫函式:
int arraysum(array myarray)
return s; }
4、由於重複使用成員變數而引起的效率問題
因為要使用
this
指標獲取成員變數的基位址,故訪問成員變數的時間一般是訪問區域性變數的二倍;因而,可以建立區域性變數,在迴圈體外一次賦值,迴圈體內重複使用,將提高程式效率。
class array
;重複使用成員變數:
int array::sum()
return s; }
使用區域性變數代替成員變數:
int array::sum()
return s; }
c c 變數儲存
1 靜態儲存區,是在程式編譯時就已經分配好的,在整個執行期間都存在,如全域性變數 常量。2 棧上分配,函式內的區域性變數就是從這分配的,但分配的記憶體容易有限。3 堆上分配,也稱動態分配,如我們用new,malloc分配記憶體,用delete,free來釋放的記憶體。static全域性變數與普通的全...
C C 變數詳解
class test 成員變數的初始化有且僅有兩種 1 賦值。2 成員初始化列表 其中只能用方法2的有常量成員 不包括靜態的 引用型別成員。靜態成員和靜態常量成員由於是類共有的,不是屬於某乙個物件,因此不能在建構函式中初始化。靜態成員 這裡不包括靜態常量成員 必須在類外初始化。成員變數的初始化順序只...
C C 變數命名規則
變數命名規則是為了增強 的可讀性和容易維護性。以下為 c 必須遵守的變數命名規則 1 變數名只能是字母 a z,a z 和數字 0 9 或者下劃線 組成。2 第乙個字母必須是字母或者下劃線開頭。3 不能使用 c 關鍵字來命名變數,以免衝突。4 變數名區分大小寫。變數命名規則 一 用最短字元表示最準確...