c函式名前的是什麼意思C函式名前的是什麼意思

2021-06-01 14:08:21 字數 3451 閱讀 1691

1樓:匿名使用者

::是域運算子

域運算子一般用來選用全域性的函式,如在cwnd類裡要使用api的setwindowpos()就要用域運算子

::setwindowpos();

m_dataset.setconnection(::getconnection());

這句話的意思是,呼叫 m_dataset物件的setconnection()方法,

而setconnection()裡面的引數是由全域性函式getconnection()的返回值。

有疑問請hi我或追問,請不要關閉問題:)

2樓:匿名使用者

::是輸出的意思。全部意思是 為m_dataset物件設定一個值,從getconnection 這個方法的返回值裡面提取出來。

3樓:凌雲紫冥

::是作用域識別符號

前面沒有任何類的話 說明是全域性的

::getconnection() 以這個函式的返回值作為setconnection的引數

4樓:匿名使用者

域作用符~例如std::endl,說明endl是來自名字空間std這個作用域的~就像一個字首一樣,說明這個東西是來自**的~

5樓:匿名使用者

域符號。

a::b 表示b是屬於a的。

c++ 類名::函式名 是什麼意思?

6樓:匿名使用者

::是c++的域操作符,可以單獨引用某個類中的函式,或者在外部定義類中的函式。如定義 void classa::

func(); 就是在classa的外部定義func函式,作為classa的一部分

7樓:匿名使用者

::是作用域解析運算子,類名::函式名 是說這個函式是這個類的函式。。。

c++中函式名字前有&是什麼意思?

8樓:學雅思

&的意思是返回引用型別。

格式:型別識別符號 &函式名(形參列表及型別說明)。

在記憶體中不產生被返回值的副本;(注意:正是因為這點原因,所以返回一個區域性變數的引用是不可取的。因為隨著該區域性變數生存期的結束,相應的引用也會失效,產生runtime error。

擴充套件資料

使用返回引用型別注意事項:

1、不能返回區域性變數的引用。這條可以參照effective c++的item 31。主要原因是區域性變數會在函式返回後被銷燬,因此被返回的引用就成為了"無所指"的引用,程式會進入未知狀態。

2、不能返回函式內部new分配的記憶體的引用。這條可以參照effective c++的item。雖然不存在區域性變數的被動銷燬問題,可對於這種情況(返回函式內部new分配記憶體的引用),又面臨其它尷尬局面。

例如,被函式返回的引用只是作為一個臨時變數出現,而沒有被賦予一個實際的變數,那麼這個引用所指向的空間(由new分配)就無法釋放,造成memory leak。

3、可以返回類成員的引用,但最好是const。這條原則可以參照effective c++的item 30。主要原因是當物件的屬性是與某種業務規則(business rule)相關聯的時候,其賦值常常與某些其它屬性或者物件的狀態有關,因此有必要將賦值操作封裝在一個業務規則當中。

如果其它物件可以獲得該屬性的非常量引用(或指標),那麼對該屬性的單純賦值就會破壞業務規則的完整性。

9樓:匿名使用者

&的意思是,返回型別為***plex 的一個引用。

不加&的時候表示,返回型別為***plex 的一個拷貝。

就類似於函式引數傳遞時,按值傳遞和按引用傳遞的區別。

10樓:匿名使用者

返回一個***plex 物件的引用。

既是返回的物件不會被複制 直接丟給你

11樓:匿名使用者

***plex &, 這個不應該叫函式名前有&,這個應該叫型別後面加&, 表示引用型別。

12樓:

&的意思為,為a1取個別名,為operator

c++函式名的前面有&或是*符號,是什麼意思

13樓:匿名使用者

函式名前的&表示返回值型別是個引用,準確地說是左值引用,*則表示返回型別是指標,引用和指標的區別請自行查閱資料了。

c++函式名前面加&是什麼意思

14樓:司馬刀劍

這個和函式引數加地址符的作用是一樣的,用於返值返回的是引用而不是賦值。

也就是說,該函式返值會通過地址傳送的方式給到函式呼叫者要求的返回值,這樣可以節省物件賦值造成的記憶體浪費,通常用於返值是大型物件(而不是簡單變數型別)的時候。

比如你有個class t,而這個函式的返值是return t; 加上地址符返值後,返回t變數的地址,將地址傳遞給接收返值的變數,而不是新建一個類t,呼叫類的複製函式建立一個新類。

c++中函式前加~是什麼意思,比如~thread();

15樓:人設不能崩無限

c++中函式前加~是表示此函式是解構函式。

解構函式(destructor) 與建構函式相反,當物件結束其生命週期,如物件所在的函式已呼叫完畢時,系統自動執行解構函式。解構函式往往用來做「清理善後」 的工作(例如在建立物件時用new開闢了一片記憶體空間,delete會自動呼叫解構函式後釋放記憶體)。

16樓:匿名使用者

c++中函式

前加~是表示此函式是解構函式。

解構函式介紹

1.解構函式(destructor) 與建構函式相反,當物件脫離其作用域時(例如物件所在的函式已呼叫完畢),系統自動執行解構函式。解構函式往往用來做「清理善後」 的工作(例如在建立物件時用new開闢了一片記憶體空間,應在退出前在解構函式中用delete釋放)。

2.以c++語言為例:解構函式名也應與類名相同,只是在函式名前面加一個位取反符~,例如~stud( ),以區別於建構函式。

它不能帶任何引數,也沒有返回值(包括void型別)。只能有一個解構函式,不能過載。如果使用者沒有編寫解構函式,編譯系統會自動生成一個預設的解構函式(即使自定義了解構函式,編譯器也總是會為我們合成一個解構函式,並且如果自定義了解構函式,編譯器在執行時會先呼叫自定義的解構函式再呼叫合成的解構函式),它也不進行任何操作。

所以許多簡單的類中沒有用顯示的解構函式。

例項:#include

using namespace std;

class t };

int main();

17樓:匿名使用者

解構函式,用來釋放你程式執行中沒有delete或者free的變數,完成掃尾工作,一般的建立類如果不寫解構函式會呼叫系統預設的解構函式,如果使用者有宣告和定義,則呼叫使用者的

c語言函式前加上是什麼意思,C語言函式前加上是什麼意思

有的函式返回一個數值 0或1 在函式前加!也是取反的意思,即將返回值取其否定意義 如 int fun 在main函式中的條件語句中如 if fun 即將返回的0變為了1 總之就是否定的意思,函式isalpha會返回一個值,如果返回1表示真,那麼歎號一下就變成假了 如果返回0表示假,那麼歎號一下就變成...

c 中兩個函式函式名相同,引數型別和引數個數也相同,但是函

這樣bai 不是過載。函式過載要求du函式的參zhi數個數不同或者dao引數型別不同。專因為呼叫函式的時候無屬法確認函式的返回型別,所以僅返回型別不同的函式都可以匹配,這樣就造成二義性,所以僅僅是返回型別不同是不能過載的,比如有int f int a float f int a int main c...

C引數前加是什麼意思C函式引數中的號是什麼意思呢?

是引用符運算子起作用就是可以返回當前被引用元素的值舉個簡單例子相信樓主很快就會明白 class a void getelem int e 此處若沒有 執行就不能顯示e的值因為e的作用域只是當前函式 使他可以被返回 int main 說通俗點就是用來讓函式的引數被賦予實際的值,而不是在函式執行完後引數...