※ 引述《allyusd (夢幻賤狗)》之銘言:
: ※ 引述《MOONY135 (談無慾)》之銘言:
: : 開發平台(Platform): (Ex: Win10, Linux, ...)
: : vs2015
: : 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
: : qt 5.7
: : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: : 問題(Question):
: : 目前在寫有關http的功能 目前網路上會看到這種寫法
: : http://imgur.com/qJ2uHi1
: : QNetworkReply *reply = manager->post(QNetworkRequest(qurl), multiPart);
: : QNetworkReply* reply = manager->post(QNetworkRequest(qurl), multiPart);
: : 想請問一下 兩種寫法有甚麼差別嗎?
: : QNetworkReply *reply 我覺得應該是記憶體位置吧?
: 寫法一:QNetworkReply *replay = ...
: 寫法二:QNetworkReply* replay = ...
: 我也是研究好久才發現原來是 * 號的位置不同,(應該上色的 XD)
: 這個部份如推文所述的,跟 Qt 無關,但是又有點關係,(後述)
: 這算是 C++ Code Style 的一部份,也可以用來發動宗教戰爭。
: 因為之前針對這部份有好奇過,分享一下之前收集到的資料:
: 第一個是 Bjarne Stroustrup 的回答:
: http://www.stroustrup.com/bs_faq2.html#whitespace
: :兩種寫法都是對的,對於 C 或 C++ 都是有效且有相同的意義。
: C 程式設計師較常強調 int *p, *p 是一個 int。
: C++ 程式設計師較常強調 int* p,p 是一個 int 指標。
: 另一份是 The GNU C++ Library - Coding Style
: https://gcc.gnu.org/onlinedocs/libstdc++/manual/source_code_style.html
: :直接說用第二種,不要用第一種寫法。
: Notable areas of divergence from what may be previous local practice
: (particularly for GNU C) include:
: 01. Pointers and references
: char* p = "flop";
: char& c = *p;
https://gist.github.com/Aix-Shiao/c9ce0d79d373887e914b78700f564f0b
我有延伸的問題,目前我需要跟webApi溝通
我寫了一個webApiPost的方法
在
manager = new QNetworkAccessManager(this);
QNetworkReply* reply = manager->post(QNetworkRequest(qurl), multiPart);
這行的reply我理解為 manager再丟入post資訊之後,網頁端所回傳給我的訊息
那我想問
1. 如果當下丟這行的時候是沒有網路的狀態? 我要怎樣確認網路是否通暢?
因為網路不通的時候
QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), this,
SLOT(finishedSlot(QNetworkReply*)));
manager所發出finished的SIGNAL應該是永遠不會有回應的吧?
2.
QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), this,
SLOT(finishedSlot(QNetworkReply*)));
為什麼是finished(QNetworkReply*) 而不是finished(reply)呢?