高效使用C C 變數

2021-04-20 11:36:29 字數 1125 閱讀 8543

高效使用

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 變數名區分大小寫。變數命名規則 一 用最短字元表示最準確...