C++(20):通過source_location實現日志函數

C++20中引入了std::source_location,用來描述函數調用的上下文信息。

其主要的成員函數如下:

  • line():獲取行號。
  • column():獲取列號。
  • file_name():獲取文件名。
  • function_name():獲取函數域名。
#include <iostream>
#include <string_view>
#include <source_location>void log(std::string_view message, const std::source_location& location = std::source_location::current())
{std::cout << location.file_name() << ':'<< location.line() << ' '<< "func:"<<location.function_name() << ' '<< "log:"<<message << '\n';
}int main()
{log("Hello world!");
}

運行程序輸出:

./file.cpp:16 func:int main() log:Hello world!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167658.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167658.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167658.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

BGP聯邦及路由反射器配置

需求 1 AS1存在兩個環回&#xff0c;一個地址為192.168.1.0/24&#xff0c;該地址不能再任何協議中宣告 AS3存在兩個環回&#xff0c;一個地址為192.168.2.0/24&#xff0c;該地址不能再任何協議中宣告 AS1還有一個環回地址為10.1.1.0/24&#xff0c;AS3另一個環回地址是11.1.1…

DQN算法

DQN算法 教程鏈接 DataWhale強化學習課程JoyRL https://johnjim0816.com/joyrl-book/#/ch7/main DQN算法 DQN(Deep Q-Network) 主要創新點在于將Q-learning算法中的Q表記錄動作價值函數轉為引入深度神經網絡來近似動作價值函數 Q ( s , a ) Q(s,a) Q(s,a),從而能夠處理連續…

C現代方法(第23章)筆記——庫對數值和字符數據的支持

文章目錄 第23章 庫對數值和字符數據的支持23.1 <float.h>: 浮點類型的特性23.2 <limits.h>: 整數類型的大小23.3 <math.h>: 數學計算(C89)23.3.1 錯誤23.3.2 三角函數23.3.3 雙曲函數23.3.4 指數函數和對數函數23.3.5 冪函數23.3.6 就近舍入、絕對值函數和取…

設計模式——行為型模式(一)

行為型模式用于描述程序在運行時復雜的流程控制,即描述多個類或對象之間怎樣相互協作共同完成單個對象都無法單獨完成的任務,它涉及算法與對象間職責的分配。 行為型模式分為類行為模式和對象行為模式,前者采用繼承機制來在類間分派行為,后者采用組合或聚合在對象間分配行…

醫院預約管理系統開發 代碼展示 九價疫苗接種預約功能(含小程序源代碼)

基于微信小程序的疫苗預約系統讓疫苗信息&#xff0c;疫苗預約信息等相關信息集中在后臺讓管理員管理&#xff0c;讓用戶在小程序端預約疫苗&#xff0c;查看疫苗預約信息&#xff0c;該系統讓信息管理變得高效&#xff0c;也讓用戶預約疫苗&#xff0c;查看疫苗預約等信息變得…

MySQL 優化器 Index Condition Pushdown下推(ICP)

ICP 測試 準備數據 CREATE TABLE icp (employee_id int(6) NOT NULL AUTO_INCREMENT,first_name varchar(20) DEFAULT NULL,last_name varchar(25) DEFAULT NULL,email varchar(25) DEFAULT NULL,phone_number varchar(20) DEFAULT NULL,PRIMARY KEY (employee_id) );insert i…

額溫槍方案,MS8551,MS8601;MS1112,MS1100

鑒于測溫的傳感器信號非常微弱&#xff0c;需要用高精度、低噪聲的運算放大器和高精度、低功耗的ADC。 運算放大器可供選擇&#xff1a;MS8551 or MS8601&#xff0c;具有低失調&#xff08;1uV&#xff09;、低噪&#xff08;22nV√Hz &#xff09;、封裝小等優點&#xff0c…

Redis并發問題解決方案

目錄 前言 1.分布式鎖 1.基于單個節點 2.基于多個節點 3.watch(樂觀鎖) 2.原子操作 1.單命令操作 2.Lua 腳本(多命令操作) 3.事務 1.執行步驟 2.錯誤處理 3.崩潰處理 總結 前言 在多個客戶端并發訪問Redis的時候&#xff0c;雖然Redis是單線程執行指令&#xff…

【間歇振蕩器2片555時基仿真】2022-9-24

緣由multisim出現這個應該怎么解決吖&#xff0c;急需解決-嵌入式-CSDN問答 輸出一定要有電阻分壓才能前后連接控制否則一定報錯。

Python自動化生成漂亮的測試報告

&#x1f4e2;專注于分享軟件測試干貨內容&#xff0c;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01;&#x1f4e2;交流討論&#xff1a;歡迎加入我們一起學習&#xff01;&#x1f4e2;資源分享&#xff1a;耗時200小時精選的「軟件測試」資…

五種多目標優化算法(MOJS、NSGA3、MOGWO、NSWOA、MOPSO)求解微電網多目標優化調度(MATLAB代碼)

一、多目標優化算法簡介 &#xff08;1&#xff09;多目標水母搜索算法MOJS 多目標優化算法&#xff1a;多目標水母搜索算法MOJS&#xff08;提供MATLAB代碼&#xff09;_水母算法-CSDN博客 &#xff08;2&#xff09;NSGA3 NSGA-III求解微電網多目標優化調度&#xff08;M…

acwing算法基礎之數學知識--求卡特蘭數

目錄 1 基礎知識2 模板3 工程化 1 基礎知識 題目&#xff1a;給定n個0和n個1&#xff0c;它們將按照某種順序排成長度為2n的序列&#xff0c;求它們能排成的所有序列中&#xff0c;能夠滿足任意前綴序列中0的個數都不少于1的個數的序列有多少個&#xff1f; 輸出的答案對 1 0 …

【云原生 Prometheus篇】Prometheus的動態服務發現機制與認證配置

目錄 一、Prometheus服務發現的方式1.1 基于文件的服務發現1.2 基于consul的服務發現1.3 基于 Kubernetes API 的服務發現1.3.1 簡介1.3.2 基于Kurbernetes發現機制的部分配置參數 二、實例一&#xff1a;部署基于文件的服務發現2.1 創建用于服務發現的文件2.2 修改Prometheus的…

yo!這里是c++11重點新增特性介紹

目錄 前言 列表初始化 { }初始化 initializer_list類 類型推導 auto decltype 范圍for 右值引用與移動語義 左值引用和右值引用 移動語義 1.移動構造 2.移動賦值 3.stl容器相關更新 右值引用和萬能引用 完美轉發 關鍵字 default delete final和override …

西米支付:簡單介紹一下支付公司的分賬功能體系

隨著互聯網的普及和電子商務的快速發展&#xff0c;支付已經成為人們日常生活的重要組成部分。支付公司作為第三方支付平臺&#xff0c;為消費者和商家提供了便捷、安全的支付方式。而在支付領域中&#xff0c;分賬功能是一個非常重要的功能&#xff0c;它可以幫助企業實現資金…

SpringBoot——攔截器

優質博文&#xff1a;IT-BLOG-CN 一、登錄時可能會出現重復提交問題。我們可以通過重定向解決此問題。例如&#xff1a;用戶提交的請求為&#xff1a;/user/login&#xff0c;通過redirect&#xff1a;重定向至 main.html請求。 PostMapping("/user/login") public …

C語言——從終端(鍵盤)將 5 個整數輸入到數組 a 中,然后將 a 逆序復制到數組 b 中,并輸出 b 中 各元素的值。

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int i;int a[5];int b[5];printf("輸入5個整數&#xff1a;\n");for(i0;i<5;i){scanf("%d",&a[i]);}printf("數組b的元素值為&#xff1a;\n");for(i4;i>0;i--…

Windows任務管理器內存性能界面各個參數含義

任務管理器的內存性能界面提供了一些關鍵參數&#xff0c;這些參數可以幫助你了解系統中內存的使用情況。以下是一些常見的參數及其含義&#xff1a; 已提交&#xff08;Committed&#xff09;&#xff1a; 表示已分配的物理內存和虛擬內存的總和。已提交的內存包括當前正在使…

Javascript每天一道算法題(十五)——輪轉數組_中等(一行解決輪轉數組)

文章目錄 1、問題2、示例3、解決方法&#xff08;1&#xff09;方法1——while遍歷&#xff08;較為復雜&#xff0c;不推薦&#xff09;&#xff08;2&#xff09;方法2&#xff08;直接截取后插入&#xff0c;推薦&#xff09;&#xff08;3&#xff09;方法3——優化方法2&a…

jQuery_03 dom對象和jQuery對象的互相轉換

dom對象和jQuery對象 dom對象 jQuery對象 在一個文件中同時存在兩種對象 dom對象: 通過js中的document對象獲取的對象 或者創建的對象 jQuery對象: 通過jQuery中的函數獲取的對象。 為什么使用dom或jQuery對象呢&#xff1f; 目的是 要使用dom對象的函數或者屬性 以及呢 要…