⑴ const 用在函數中是什麼意思
如果是void f(const int a);這種形式的,那麼表示a的值在函數中不能被修改,當然這兒只是個形式,void f(int a);這種方式,a的值也不會被修改。如果是void f(...) const;這種形式,這一般是類的成員 函數 ,表示這個成員函數不會修改類的成員變數,如果有修改成員變數,那麼會編譯錯誤的
⑵ c++中Const 用法什麼時候需要用const Const放在類成員函數後有什麼用 Con
C++中const用法很多,能完全用好const就能說明C++功底不錯了。
1、const聲明常量,不同於宏定義的是這樣聲明的常量是有數據類型的,這樣編譯器就會在編譯前進行強制類型檢查,盡量減少因數據類型不一致導致的程序錯誤。
2、參數使用const修飾,這種用法是表明並防止函數內部修改了入參,一般用在引用參數和指針參數。調用者不用擔心入參被修改,函數實現者也無法修改該入參。
3、成員函數後面使用const修飾,這種用法表明並防止函數內部修改成員變數,即確保該函數不會修改內部數據成員,僅作為非數據相關的方法。
4、函數返回值前面使用const修飾,表明返回值不能被修改,一般也多用於返回引用或指針時,方式內部成員被外部非法篡改。
5、指針常量聲明時的用法,const char* const p = NULL;第一個const限定指針內容不可修改,第二個const限定指針地址不可修改。
來個例子:
const string& MyClass::Example(const char* const pStr,string& strRes)const
{
...
}
⑶ C++中,類的const成員函數有什麼用
類的非static(靜態)成員函數有一個默認實參this,代表當前類對象,const就是修飾這個實參的,意思是函數不能修改這個類對象的值
如下列代碼
class cls
{ ...//省略
return_type func()const;
}
//在主函數中
cls a;
a.func();
上面函數中const的意思就是不能修改a
也可以等價的這么看
return_type func()const等價於
static return_type func(const *this);
⑷ 通達信CONST的用法請老師板幫我解釋
N:=10;
N賦值:10
T1:=CONST(HHVBARS(V,N));
T1賦值:N日內成復交量(手)距今天制數的最後一日取值設為常數
T0:=IF(CURRBARSCOUNT<=N+7,CONST(IF(T1=0,C,REF(C,T1))),DRAWNULL);
T0賦值:如果到最後交易的周期<=N+7,返回如果T1=0,返回收盤價,否則返回T1日前的收盤價的最後一日取值設為常數,否則返回無效數
HHVBARS(V,N)<=10 AND CROSS(C>T0,0.5);
N日內成交量(手)距今天數<=10 AND 收盤價>T0上穿0.5
⑸ const函數的作用
的成員函數後面加 const,表明這個函數不會對這個類對象的數據成員(准確地說是非靜態數據成員)作任何改變。
在設計類的時候,一個原則就是對於不改變數據成員的成員函數都要在後面加 const,而對於改變數據成員的成員函數不能加 const。所以 const 關鍵字對成員函數的行為作了更加明確的限定:有 const 修飾的成員函數(指 const 放在函數參數表的後面,而不是在函數前面或者參數表內),只能讀取數據成員,不能改變數據成員;沒有 const 修飾的成員函數,對數據成員則是可讀可寫的。
在類的成員函數後面加 const ,則常量(即 const)對象可以調用 const 成員函數,而不能調用非const修飾的函數。正如非const類型的數據可以給const類型的變數賦值一樣,反之則不成立。
對於const成員函數,"不能修改類的數據成員,不能在函數中調用其他不是const的函數",這是由const的屬性決定的
⑹ 通信達CONST在博易大師中可用什麼函數代替
確實在很多方面需要將某一數據固定為常數,
比如下圖的畫線
⑺ C語言中const有什麼用途
const修飾的數據類型是指常類型,常類型的變數或對象的值是不能被更新的。
const關鍵字的作用主要有以下幾點:
(1)可以定義const常量,具有不可變性。 例如:
const int Max=100; int Array[Max];
(2)便於進行類型檢查,使編譯器對處理內容有更多了解,消除了一些隱患。例如: void f(const int i) { .........} 編譯器就會知道i是一個常量,不允許修改;
(3)可以避免意義模糊的數字出現,同樣可以很方便地進行參數的調整和修改。
(4)可以保護被修飾的東西,防止意外的修改,增強程序的健壯性。 還是上面的例子,如果在函數體內修改了i,編譯器就會報錯; 例如:
void f(const int i) { i=10;//error! }
(5) 為函數重載提供了一個參考。
class A { ......
void f(int i) {......} //一個函數
void f(int i) const {......} //上一個函數的重載 ......
};
(6) 可以節省空間,避免不必要的內存分配。 例如:
#define PI 3.14159 //常量宏
const doulbe Pi=3.14159; //此時並未將Pi放入ROM中 ......
double i=Pi; //此時為Pi分配內存,以後不再分配!
double I=PI; //編譯期間進行宏替換,分配內存
double j=Pi; //沒有內存分配
double J=PI; //再進行宏替換,又一次分配內存!
const定義常量從匯編的角度來看,只是給出了對應的內存地址,而不是象#define一樣給出的是立即數,所以,const定義的常量在程序運行過程中只有一份拷貝,而#define定義的常量在內存中有若干個拷貝。
(7) 提高了效率。 編譯器通常不為普通const常量分配存儲空間,而是將它們保存在符號表中,這使得它成為一個編譯期間的常量,沒有了存儲與讀內存的操作,使得它的效率也很高。
⑻ 再函數參數中const有什麼作用
函數中使用const?你是指在C語言中,函數的參數定義時使用的const這個標識吧?表示值傳遞,即避免在函數體修改了原始數據,特別傳遞了指針參數的時候非常有用。
⑼ C++函數中const的用處
const
char*
Point
(int)
const
中
前面的const代表返回的是一個字元指針常量
後面的const代表這個函數不會改變該類中的所屬變數的值,一般我們會在get,print之類不會修改類變數值的函數後面加const