• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <stacktrace>

    std::stacktrace_entry::source_line

    uint_least32_t source_line() const; // (1) C++23
    

    概要

    行番号を取得する。

    戻り値

    *thisで表される評価に字句的に関連する0または1ベースの行番号を返す。

    source_file()が推定のソースファイル名を返す場合は推定の行番号を返し、source_fileが実際のソースファイル名を返す場合は実際の行番号を返す。

    例外

    内部のデータ構造のメモリ確保ができない場合、std::bad_alloc例外を送出する。

    備考

    • この関数はメモリ確保以外のエラーを「利用可能な情報がない」ものとして扱い、その場合は例外を送出しない

    #include <iostream>
    #include <stacktrace>
    
    void g() {
      std::stacktrace st = std::stacktrace::current();
      std::stacktrace_entry entry = st[0];
    
      std::cout << entry.source_line() << std::endl;
    }
    
    void f() {
      g();
    }
    
    int main() {
      f();
    }
    

    出力例 (GCC)

    5
    

    バージョン

    言語

    • C++23

    処理系