最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt的qDebug使用小結(jié)

 更新時間:2023年06月06日 10:09:29   作者:wowocpp  
使用qDebug()函數(shù)它可以把調(diào)試信息直接輸出到控制臺上,本文就來介紹一下qDebug的具體使用,具有一定的參考價值,感興趣的可以了解一下

使用 " qDebug() << "一定要添加頭文件 #include

然而

 int num = 20;
 char str[20]="hello world";
 qDebug("如果只寫在括號里,是不需要QDebug頭文件的 %d %s", num, str);

消除qDebug()打印

qDebug的打印信息,主要是為了方便調(diào)試程序時盡快找到bug,所以當(dāng)我們在發(fā)布版本時,需要去掉debug打印,一方面可以加快我們程序的執(zhí)行速度,另一方面可以減小我們程序的體積。

在我做的項(xiàng)目中有很多人是采用加注釋的方法來去掉打印的,雖然這個方法可行,但不是很有效的,如果哪天程序出了bug還需要再把打印信息去掉注釋,這是很麻煩的。當(dāng)然,將日志分級也是個很不錯的想法。

為了解決這個問題,你只需要在你的pro文件里加上一行預(yù)定義宏即可。

DEFINES += QT_NO_DEBUG_OUTPUT

在你的程序添加上這個宏,重新編譯運(yùn)行程序,看看你的打印信息是不是都不見了呢,哈哈,這是不是很方便啊,Qt就是這么的懂你。

為自定義類添加qDebug()打印

如果我們想要使用qDebug打印自定義類中的信息時就可以像以下這樣做:

#include <QDebug>
class Student
{
public:
    Student(const QString& nm){name = nm;}
    QString getName() const{return name;}
private:
    QString name;
};
QDebug operator<<(QDebug debug, const Student &c)
{
    debug << c.getName();
    return debug;
}
int main(int argc, char *argv[])
{
    Student student("John");
    qDebug() << student;
}

首先,自定義了一個類Student,編寫了構(gòu)造函數(shù)和獲取姓名的獲取器。

其次,定義了"<<"操作符,打印名字。

最后,在main函數(shù)中創(chuàng)建Student的實(shí)例,并用qDebug()打印該實(shí)例。

Qt QDebug 打印自定義結(jié)構(gòu)體

1.簡述

你還在到處這樣打印結(jié)構(gòu)體么?

qDebug()<<"Mc info:"<<info.m_id<<info.r_id<<info.display_type<<info.topic<<info.name<<info.sname;

我剛才還在這樣打印結(jié)構(gòu)體,不過我實(shí)在是受夠了,一番折騰之后,我可以這樣打印了

qDebug()<<"Mc info:"<<info;

2.代碼

我們僅需要在結(jié)構(gòu)體里聲明一個友元函數(shù),重載QDebug的<<即可。

#include <QDebug>
class Info
{
public:
    QString m_id;
    QString r_id;
    QString display_type;
    QString topic;
    QString name;
    QString sname;
    friend QDebug& operator<<(QDebug out, const Info& info)
    {
        out <<info.m_id<<info.r_id<<info.display_type<<info.topic<<info.name<<info.sname;
        return out;
    }
};

到此這篇關(guān)于Qt的qDebug使用小結(jié)的文章就介紹到這了,更多相關(guān)Qt qDebug內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言隨機(jī)數(shù)生成教程(rand和srand用法)

    C語言隨機(jī)數(shù)生成教程(rand和srand用法)

    這篇文章主要介紹了C語言隨機(jī)數(shù)生成教程(rand和srand用法),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • map插入自定義對象總結(jié)

    map插入自定義對象總結(jié)

    黑樹在插入節(jié)點(diǎn)時,必須依照大小比對之后在一個合適的位置上執(zhí)行插入動作。所以作為關(guān)鍵字,起碼必須有“<”這個比較操作符
    2013-09-09
  • 詳解C++中的ANSI與Unicode和UTF8三種字符編碼基本原理與相互轉(zhuǎn)換

    詳解C++中的ANSI與Unicode和UTF8三種字符編碼基本原理與相互轉(zhuǎn)換

    在C++編程中,我們有時需要去處理字符串編碼的相關(guān)問題,常見的字符編碼有ANSI窄字節(jié)編碼、Unicode寬字節(jié)編碼及UTF8可變長編碼。很多人在處理字符串編碼問題時都會有疑惑,即便是有多年工作經(jīng)驗(yàn)的朋友也可能搞不清楚。所以有必要講一下這三種字符編碼以及如何去使用它們
    2021-11-11
  • C語言共用體union作用使用示例教程

    C語言共用體union作用使用示例教程

    這篇文章主要為大家介紹了C語言共用體union作用的使用示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-02-02
  • C語言設(shè)計前中后隊(duì)列實(shí)例代碼

    C語言設(shè)計前中后隊(duì)列實(shí)例代碼

    隊(duì)列最主要的作用就是用來管理數(shù)據(jù)流的,防止數(shù)據(jù)因?yàn)閭鬏旑l率過快得不到及時處理而丟失,下面這篇文章主要給大家介紹了關(guān)于C語言設(shè)計前中后隊(duì)列的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • C++如何計算結(jié)構(gòu)體與對象的大小

    C++如何計算結(jié)構(gòu)體與對象的大小

    這篇文章主要給大家介紹了關(guān)于C++如何計算結(jié)構(gòu)體與對象大小的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 淺談C語言中的 #define 宏定義

    淺談C語言中的 #define 宏定義

    C語言中的#define預(yù)處理指令用于文本替換,分為無參宏和帶參宏兩種形式,下面就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2026-01-01
  • C語言中使用fopen()打開和操作文件的詳細(xì)方法指南

    C語言中使用fopen()打開和操作文件的詳細(xì)方法指南

    fopen是C語言庫函數(shù),open是系統(tǒng)調(diào)用,mmap是將大文件映射到內(nèi)存中使用,這篇文章主要給大家介紹了關(guān)于C語言中使用fopen()打開和操作文件的詳細(xì)方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • 詳解VisualS tudio Code開發(fā)Arm嵌入式Linux應(yīng)用

    詳解VisualS tudio Code開發(fā)Arm嵌入式Linux應(yīng)用

    本文介紹如何在 Visual Studio Code 中使用 Yocto Project 生成的 Linux SDK,并針對 Arm 處理器進(jìn)行 C/C++ 應(yīng)用交叉編譯和調(diào)試,感興趣的朋友跟隨小編一起看看吧
    2021-04-04
  • C++數(shù)組的定義詳情

    C++數(shù)組的定義詳情

    這篇文章主要介紹了C++數(shù)組的定義詳情,上一篇文章我們學(xué)習(xí)了類型,接下倆我們九在類型的基礎(chǔ)上展開本篇內(nèi)容數(shù)組的常用方法以及C++標(biāo)準(zhǔn)庫提供的一些關(guān)于數(shù)組的容器,需要的朋友可以參考一下,希望對你有所幫助
    2021-12-12

最新評論

磐石市| 南宫市| 安康市| 南宫市| 黎平县| 镇宁| 美姑县| 永年县| 太原市| 张家港市| 冕宁县| 嘉黎县| 麻江县| 鄂托克前旗| 德保县| 东乡族自治县| 甘肃省| 婺源县| 新丰县| 揭阳市| 维西| 万荣县| 岳普湖县| 寿宁县| 荃湾区| 新田县| 松滋市| 长丰县| 米林县| 台安县| 红河县| 蓝山县| 垣曲县| 麻城市| 胶州市| 张掖市| 商城县| 周至县| 普兰店市| 壤塘县| 赤峰市|