91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++怎么獲取當前正在運行函數的名稱

發布時間:2023-05-06 17:36:28 來源:億速云 閱讀:301 作者:iii 欄目:開發技術

本篇內容主要講解“C++怎么獲取當前正在運行函數的名稱”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++怎么獲取當前正在運行函數的名稱”吧!

func、FUNCTION、__PRETTY_FUNCTION__的區別

常用獲取函數名成的方法都有__func__、FUNCTION、PRETTY_FUNCTION。那么它們的區別是什么呢?

1) func、FUNCTION: 主要是獲取函數的名稱。
2) PRETTY_FUNCTION: 不僅能獲取函數的名稱,同樣也能獲取函數傳遞的參數。

#include <iostream>

using namespace std;
int test_fun(int a, int b){
    cout << "__func__: " << __func__ << endl;
    cout << "__FUNCTION__: " << __FUNCTION__ << endl;
    cout << "__PRETTY_FUNTION__: " << __PRETTY_FUNCTION__ << endl;
    return 0;
}

int main(int argc, char** argv){
    test_fun(1, 1);
    return 0;
}

result:
__func__: test_fun
__FUNCTION__: test_fun
__PRETTY_FUNTION__: int test_fun(int, int)

func、__FUNCTION__的區別?

FUNCTION 和 func 都是預定義的宏,用于在編譯時獲取當前函數的名稱字符串。

但是它們之間存在一些區別:

FUNCTION 是一個非標準的宏,在C++98和C++03標準中被定義為預處理器擴展。在C99和C11標準中,它已被刪除。而 func 是標準 C 和 C++ 的宏,從C99/C++98開始引入。

FUNCTION 會返回包含類作用域的完整函數名,而 func 只返回函數名。例如,如果您有一個名為 MyClass::myFunction() 的成員函數,則 FUNCTION 將返回 “MyClass::myFunction”,而 func 將僅返回 “myFunction”。

在函數原型或函數定義中使用 func 時,它與函數名稱具有相同的類型,即 const char[]。但是,在使用 FUNCTION 時,其類型因實現而異,通常為 const char* 或 const char[]。

綜上所述,雖然這兩個宏都可以用于獲取當前函數的名稱字符串,但 func 更好地符合標準,并且更簡潔和易于使用。

到此,相信大家對“C++怎么獲取當前正在運行函數的名稱”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

呼玛县| 灵石县| 长治市| 滁州市| 丹寨县| 远安县| 丹阳市| 肃北| 丰都县| 彰武县| 牙克石市| 镇康县| 遂川县| 九龙县| 邢台市| 泸定县| 会宁县| 阳山县| 清徐县| 根河市| 济源市| 通城县| 余庆县| 永善县| 崇信县| 增城市| 峡江县| 疏勒县| 丰都县| 桓台县| 阳城县| 龙州县| 东港市| 黔西县| 南宫市| 彭山县| 讷河市| 留坝县| 交城县| 南江县| 玛曲县|