C++中的函式簽名
C++中的函式簽名(function signature):包含了一個函式的資訊,包括函式名、引數型別、引數個數、順序以及它所在的類和名稱空間。普通函式簽名並不包含函式返回值部分,如果兩個函式僅僅只有函式返回值不同,那麼系統是無法區分這兩個函式的,此時編譯器會提示語法錯誤。函式簽名用於識別不同的函式,函式的名字只是函式簽名的一部分。在編譯器及連結器處理符號時,使用某種名稱修飾的方法,使得每個函式簽名對應一個修飾後名稱(decorated name)。編譯器在將C++原始碼編譯成目標檔案時,會將函式和變數的名字進行修飾,形成符號名,也就是說,C++的原始碼編譯後的目標檔案中所使用的符號名是相應的函式和變數的修飾後名稱。C++編譯器和連結器都使用符號來識別和處理函式和變數,所以對於不同函式簽名的函式,即使函式名相同,編譯器和連結器都認為它們是不同的函式。
不同的編譯器廠商的名稱修飾方法可能不同,所以不同的編譯器對於同一個函式簽名可能對應不同的修飾後名稱。
For functions that are specializations of function templates, the signature includes the return type. For functions that are not specializations, the return type is not part of the signature.
A function signature consists of the function prototype. What it tells you is the general information about a function, its name, parameters, what scope it is in, and other miscellaneous information.
Two overloaded functions must not have the same signature.
Default Arguments: The last parameter or parameters in a function signature may be assigned a default argument, which means that the caller may leave out the argument when calling the function unless they want to specify some other value.
注:以上內容來自於網路整理。
相關文章
- 基於雜湊函式的簽名,Part-1函式
- C++中的回撥函式C++函式
- C++中函式呼叫的用法C++函式
- C++中strlen函式C++函式
- C++中函式指標與函式物件C++函式指標物件
- 118 C++中函式的過載C++函式
- [cpp]C++中的解構函式C++函式
- C++ functional庫中的仿函式C++Function函式
- c++中內建函式C++函式
- 關於C++當中的“模板函式”C++函式
- C++中push_back()函式的用法C++函式
- c++的remove函式C++REM函式
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- C++函式C++函式
- fill函式與memset函式的區別(c++)函式C++
- 群簽名與環簽名的介紹
- C++ 函式 realloc 的用法C++函式
- c++智慧指標中的reset成員函式C++指標函式
- C++ 中的 const 物件與 const 成員函式C++物件函式
- c++中物件的引用作為函式的引數C++物件函式
- c++ Beep函式C++函式
- c++函式模板C++函式
- C++ 建構函式和解構函式C++函式
- BTC中的簽名演算法ECDSA演算法
- C++ 返回函式指標的函式C++函式指標
- 詳解C++中的多型和虛擬函式C++多型函式
- C++:類的成員函式C++函式
- iOS簽名、iOS企業簽名、iOS超級簽名工具使用iOS
- C++中函式後面加const修飾C++函式
- C++中scanf和printf系列函式簡介C++函式
- c++ 函式指標C++函式指標
- 函式回撥(C++)函式C++
- C++之memset函式C++函式
- C++解構函式C++函式
- C++ replace() 函式用法C++函式
- C++靜態函式C++函式
- C++(函式指標)C++函式指標
- C++函式模板案例C++函式
- C++ 序列操作函式C++函式