日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++工作笔记-对全局变量的进一步认识(何时适合用,何时不适合用)

發布時間:2025/3/15 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++工作笔记-对全局变量的进一步认识(何时适合用,何时不适合用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于全局變量的好處,和壞處,在此不說了,還沒畢業的大學生基本上對全局變量都有認識。

在此,我只記錄下今天的感悟!!!

?

首先來看一個程序:

這里面有2個QLineEdit,一個QLineEdit一秒+1,另外一個半秒+1

運行截圖如下:

這個是正常的狀態,源碼如下:

mylineedit.h

#ifndef MYLINEEDIT_H #define MYLINEEDIT_H#include <QLineEdit>class MyLineEdit : public QLineEdit {Q_OBJECT public:MyLineEdit(QWidget *parent = 0);void setStartTime(const int time);protected:void timerEvent(QTimerEvent *event);private:int m_num; };#endif // MYLINEEDIT_H

widget.h

#ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();private:Ui::Widget *ui; };#endif // WIDGET_H

main.cpp

#include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }

mlineedit.cpp

#include "mylineedit.h" #include <QTimerEvent> #include <QDebug>MyLineEdit::MyLineEdit(QWidget *parent) : QLineEdit(parent) {m_num=0; }void MyLineEdit::setStartTime(const int time) {startTimer(time); }void MyLineEdit::timerEvent(QTimerEvent *event) {Q_UNUSED(event)m_num++;this->setText(QString::number(m_num)); }

widget.cpp

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);ui->lineEdit->setStartTime(1000);ui->lineEdit_2->setStartTime(500); }Widget::~Widget() {delete ui; }

然而如果把m_num改成全局變量的就會發現很搞笑的事情!

運行截圖如下:

改動源碼如下:

mylineedit.h

#ifndef MYLINEEDIT_H #define MYLINEEDIT_H#include <QLineEdit>class MyLineEdit : public QLineEdit {Q_OBJECT public:MyLineEdit(QWidget *parent = 0);void setStartTime(const int time);protected:void timerEvent(QTimerEvent *event);private:};#endif // MYLINEEDIT_H

mylineedit.cpp

#include "mylineedit.h" #include <QTimerEvent> #include <QDebug>int m_num=0;MyLineEdit::MyLineEdit(QWidget *parent) : QLineEdit(parent) { }void MyLineEdit::setStartTime(const int time) {startTimer(time); }void MyLineEdit::timerEvent(QTimerEvent *event) {Q_UNUSED(event)m_num++;this->setText(QString::number(m_num)); }

?

總結:

從這里面可以看到,當某一個類,要有多個實例的實例的時候,除非多線程,搶臨界資源這種情況,其他情況就非常不合適全局變量,而一個類只有一個實例(單例模式)這種情況,就可以使用全局變量,簡化邏輯,當然,這可能對后期的維護有影響。

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的C++工作笔记-对全局变量的进一步认识(何时适合用,何时不适合用)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男人操女人免费网站 | 91久久一区 | 色妞在线| 香蕉成视频人app下载安装 | 国产视频在线一区 | 97小视频 | 韩国三级视频 | 日穴视频| 国产精品久久久久久妇女6080 | 久久久精品欧美 | 岛国av电影在线观看 | 一区二区在线免费观看 | 欧美日韩不卡视频 | 漂亮人妻被黑人久久精品 | 狠狠干夜夜爽 | 日韩av黄色片| 国产精品极品白嫩 | 成人精品亚洲人成在线 | 波多野结衣电车痴汉 | 一级片中文 | 日日摸天天爽天天爽视频 | 日韩精品在线免费 | 日韩激情视频在线观看 | 天天黄色片 | 野外(巨肉高h) | 97国产成人无码精品久久久 | 精产国品一二三产区m553麻豆 | 精品久久久久久久久久久久久久 | 亚洲少妇色| 手机看片国产日韩 | 新亚洲天堂 | 79日本xxxxxxxxx18 婷婷亚洲一区 | 美女av免费看 | 亚洲一二三四在线 | 亚洲成人免费在线视频 | porn麻豆 | 久热这里只有精品在线 | 超碰免费看 | 免费成人黄色网 | 国产一级一级片 | 欧美男人天堂网 | 亚洲午夜18毛片在线看 | 久久免费高清 | 国产91综合 | 护士人妻hd中文字幕 | 四虎在线免费视频 | 五月婷婷免费视频 | 免费一级a毛片夜夜看 | 超碰在线香蕉 | 欧美又黑又粗 | 欧美日韩黄色网 | 性少妇bbw张开 | wwwwww色| 一区二区三区视频免费观看 | 亚洲涩视频 | 国产精品v欧美精品v日韩精品 | 免费无遮挡无码永久视频 | 国产一区二区三区三州 | 邻居少妇张开腿让我爽了在线观看 | 欧美手机在线视频 | 欧美成人aaaaa | 91精品人妻一区二区 | 天天撸在线视频 | 国产在线综合视频 | 中字幕视频在线永久在线观看免费 | 久久亚洲免费视频 | 密色av | 欧美高h| 欧美操操| 精品无码久久久久久久久果冻 | 黄色一级视频在线观看 | 久久国产电影 | 最近最经典中文mv字幕 | 高h校园不许穿内裤h调教 | 日韩免费二区 | 国产激情在线播放 | 亚洲av成人无码网天堂 | 成人a毛片 | 欧美aa一级 | av色欲无码人妻中文字幕 | 国产九九九九九 | 久久精品久久99 | 欧美熟妇久久久久 | 久草高清 | 日韩精品极品视频 | 人人看人人干 | 丰满人妻一区二区三区四区53 | 免费av一区二区 | 金瓶风月在线 | 成人网站在线进入爽爽爽 | 久久久久久久久成人 | 人妻体内射精一区二区 | 欧美性猛片aaaaaaa做受 | 日本国产亚洲 | 亚洲天堂影院在线观看 | 手机在线成人av | av一片| 青娱乐青青草 | 精品午夜一区二区 |