※ 引述《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)呢?