欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++?獲取當(dāng)前正在運行函數(shù)的名稱

 更新時間:2023年04月20日 08:37:40   作者:隱居的遮天惡鬼  
本文主要介紹了C++獲取當(dāng)前正在運行函數(shù)的名稱,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

func、FUNCTION、__PRETTY_FUNCTION__的區(qū)別

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

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

#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__的區(qū)別?

FUNCTION 和 func 都是預(yù)定義的宏,用于在編譯時獲取當(dāng)前函數(shù)的名稱字符串。

但是它們之間存在一些區(qū)別:

FUNCTION 是一個非標(biāo)準(zhǔn)的宏,在C++98和C++03標(biāo)準(zhǔn)中被定義為預(yù)處理器擴(kuò)展。在C99和C11標(biāo)準(zhǔn)中,它已被刪除。而 func 是標(biāo)準(zhǔn) C 和 C++ 的宏,從C99/C++98開始引入。

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

在函數(shù)原型或函數(shù)定義中使用 func 時,它與函數(shù)名稱具有相同的類型,即 const char[]。但是,在使用 FUNCTION 時,其類型因?qū)崿F(xiàn)而異,通常為 const char* 或 const char[]。

綜上所述,雖然這兩個宏都可以用于獲取當(dāng)前函數(shù)的名稱字符串,但 func 更好地符合標(biāo)準(zhǔn),并且更簡潔和易于使用。

到此這篇關(guān)于C++ 獲取當(dāng)前正在運行函數(shù)的名稱的文章就介紹到這了,更多相關(guān)C++獲取函數(shù)名稱內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用C++實現(xiàn)?然連接操作算法

    利用C++實現(xiàn)?然連接操作算法

    這篇文章主要介紹了利用C++實現(xiàn)?然連接操作算法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • 重構(gòu)-C++實現(xiàn)矩陣的簡單實例

    重構(gòu)-C++實現(xiàn)矩陣的簡單實例

    下面小編就為大家?guī)硪黄貥?gòu)-C++實現(xiàn)矩陣的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • C++聯(lián)合體union用法實例詳解

    C++聯(lián)合體union用法實例詳解

    這篇文章主要介紹了C++聯(lián)合體union用法,較為詳細(xì)的分析了C++中聯(lián)合體的概念、實用技巧及相關(guān)注意事項,需要的朋友可以參考下
    2015-05-05
  • VS2019添加引用出錯:對COM組件的調(diào)用返回了錯誤HRESULT E_FAIL(未能完成操作未指定的錯誤)

    VS2019添加引用出錯:對COM組件的調(diào)用返回了錯誤HRESULT E_FAIL(未能完成操作未指定的錯誤)

    這篇文章主要介紹了VS2019添加引用出錯:對COM組件的調(diào)用返回了錯誤HRESULT E_FAIL(未能完成操作。未指定的錯誤),需要的朋友可以參考下
    2020-07-07
  • c++ fstream 文件追加模式示例詳解

    c++ fstream 文件追加模式示例詳解

    本文給大家介紹c++ fstream 文件追加模式示例詳解,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • C++實現(xiàn)Go的defer功能(示例代碼)

    C++實現(xiàn)Go的defer功能(示例代碼)

    defer和go一樣都是Go語言提供的關(guān)鍵字。defer用于資源的釋放,會在函數(shù)返回之前進(jìn)行調(diào)用。接下來通過本文給大家介紹C++實現(xiàn)Go的defer功能,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • C++合并二叉樹的思路與示例代碼

    C++合并二叉樹的思路與示例代碼

    二叉樹大家應(yīng)該都不陌生,但是合并二叉樹呢?這篇文章主要給大家介紹了關(guān)于C++合并二叉樹的相關(guān)資料,文中給出了兩種解決的方法,大家可以根據(jù)需要選擇對應(yīng)的方法,需要的朋友可以參考下
    2021-08-08
  • 詳解C++純虛函數(shù)與抽象類

    詳解C++純虛函數(shù)與抽象類

    這篇文章主要介紹了C++純虛函數(shù)與抽象類的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • 一文帶你了解C++中queue的使用

    一文帶你了解C++中queue的使用

    C++中的queue是一種容器,用于在FIFO(先進(jìn)先出)原則下存儲和管理元素。本篇文章將深入探討C++中的queue,包括它的定義、使用、原理和示例,感興趣的可以了解一下
    2023-04-04
  • C語言基礎(chǔ)全局變量與局部變量教程詳解

    C語言基礎(chǔ)全局變量與局部變量教程詳解

    此處對于全局與局部做一些簡要的介紹,包括全局變量與局部變量,靜態(tài)全局變量與靜態(tài)局部變量,全局函數(shù)與靜態(tài)函數(shù),作者實屬初學(xué),文中若有理解不當(dāng)之處,還請朋友們不吝指正
    2021-11-11

最新評論