[C++] source_location
Updated:
개요
- 파일 이름, 소스 라인 번호, 함수 이름 등 소스 코드에 대한 특정 정보를 나타내는 클래스
- 기존의
__LINE__
,__FILE__
등에 대한 더 나은 대안
예제
- 코드
#include <iostream> #include <source_location> using namespace std; int main() { auto print = [](source_location sl = source_location::current()) { cout << sl.line() << endl; cout << sl.column() << endl; cout << sl.file_name() << endl; cout << sl.function_name() << endl; }; print(); cout << "------" << endl; auto func1 = [print]() { print(); }; func1(); cout << "------" << endl; auto func2 = [print](int i) { print(); }; func2(1); return 0; }
- 실행 결과
13 7 main.cpp int main() ------ 17 32 main.cpp main()::<lambda()> ------ 22 37 main.cpp main()::<lambda(int)>