QT中使用函式指標

2022-03-16 10:19:11 字數 775 閱讀 3316

想仿命令列,所以定義了乙個類,讓乙個string 對應乙個 function,將兩者輸入list容器。

類中定義了

qstring commandstr;
void (mainwindow::*commandfun)(void);

乙個qstring ,乙個指向mainwindow類成員函式的指標。

但是沒想到在類中使用函式指標這麼複雜。 一般情況,我們使用函式指標宣告和引用都很簡單明瞭。但是在類中就不一樣了。

最後的成功的形式如下:

class command_type

qstring commandstr;

void (mainwindow::*commandfun)(void);

};class mainwindow : public qmainwindow

mainwindow::mainwindow(qwidget *parent) :

qmainwindow(parent),

ui(new ui::mainwindow)

}}

宣告:

void (mainwindow::*commandfun)(void);

相對於普通的函式指標宣告,這裡要加上mainwindow::,不同的類不能通用。

引用:

(this->*(c.commandfun))();

相對於普通的函式指標引用,這裡必須要this指標。如果是在其他類或者main函式中使用,則必須用物件引用(物件才有實際記憶體空間)。

Qt 中使用智慧型指標

教研室的專案,就是用qt做個圖形介面能收發資料就可以了,但是建立資料管理類的時候需要各種new,delete,很小心了但是記憶體使用量在不斷開關程式之後函式會長,由於用的是gcc 4.7.所以好像沒有shared ptr可以用,上網查了一下原來qt也有智慧型指標。常用的有 qscopedpointe...

C 中使用函式指標

最近專案上遇到這樣的情況,前端發起請求,我這邊需要根據請求中的url判斷呼叫哪個函式方法,由於請求方法時字串,於是乎,一堆if else就出來了,如下所示 if uri abc else if uri bcd 說實話,如果請求的型別少這個if else結構都還好,不是很多,但是有幾十上百個請求的時候...

c 容器 vector map 中使用函式指標

我要動態生成mfc選單,動態繫結響應命令。include stdafx.h include include include string using namespace std 宣告乙個函式指標 int pfunc int int func1 int nin int func2 int nin ty...