Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::source_location::function_name

      From cppreference.com
      <cpp‎ |utility‎ |source location
       
       
      Utilities library
       
       
      constexprconstchar* function_name()constnoexcept;
      (since C++20)

      Returns the name of the function associated with the position represented by this object, if any.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      If this object represents a position in a body of a function, returns an implementation-defined null-terminated byte string corresponding to the name of the function.

      Otherwise, an empty string is returned.

      [edit]Example

      std::source_location::function_name may help to obtain the names of functions (including the special functions) alongside with their signatures.

      Run this code
      #include <cstdio>#include <utility>#include <source_location> inlinevoid print_function_name(conststd::source_location& location= std::source_location::current()){std::puts(location.function_name());// prints the name of the caller} void foo(double&&){ print_function_name();} namespace bar{void baz(){ print_function_name();}} template<typename T>auto pub(T){ print_function_name();return42;} struct S{    S(){ print_function_name();}    S(int){ print_function_name();}    ~S(){ print_function_name();}    S& operator=(Sconst&){ print_function_name();return*this;}    S& operator=(S&&){ print_function_name();return*this;}}; int main(int,charconst*const[]){    print_function_name();    foo(3.14);    bar::baz();    pub(0xFULL);    S p;    S q{42};    p= q;    p= std::move(q);[]{ print_function_name();}();}

      Possible output:

      int main(int, const char* const*)void foo(double&&)void bar::baz()auto pub(T) [with T = long long unsigned int]S::S()S::S(int)S& S::operator=(const S&)S& S::operator=(S&&)main(int, const char* const*)::<lambda()>S::~S()S::~S()

      [edit]See also

      return the line number represented by this object
      (public member function)[edit]
      return the column number represented by this object
      (public member function)[edit]
      return the file name represented by this object
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/source_location/function_name&oldid=150210"

      [8]ページ先頭

      ©2009-2025 Movatter.jp