小编Ume*_* MS的帖子

何时以及如何使用异常处理?

我正在读关于异常处理.我得到了一些关于异常处理的信息,但我有几个问题:

  1. 什么时候抛出异常?
  2. 我们可以使用返回值来表示错误,而不是抛出异常吗?
  3. 如果我通过try-catch块保护我的所有功能,它不会降低性能吗?
  4. 何时使用异常处理?
  5. 我看到一个项目,该项目中的每个函数都包含一个try-catch块(即整个函数内的代码被try-catch块包围).这是一个好习惯吗?
  6. try-catch和__try __except有什么区别?

c++ windows exception-handling exception

74
推荐指数
3
解决办法
4万
查看次数

BOOL和bool有什么区别?

在VC++中,我们有数据类型"BOOL",可以假设值为TRUE或FALSE,并且我们有数据类型"bool",它可以假定值为true或false.

它们之间的区别是什么时候应该使用每种数据类型?

windows winapi mfc visual-c++

32
推荐指数
3
解决办法
3万
查看次数

何时使用静态成员函数?

可能的重复:
你在哪里使用朋友功能与静态功能?
C++:静态成员函数

什么时候在C++中使用静态成员函数是否合适?请给我一个真实世界的例子.

c++ static function

14
推荐指数
2
解决办法
3万
查看次数

QNetworkAccessManager超时

目前我正在开发一个从远程服务器发送和接收文件的应用程序.要进行网络操作,我使用的是QNetworkAccessManager.

要上传文件我正在使用QNetworkAccessManager :: put()并下载我正在使用QNetworkAccessManager :: get()函数.

上传文件时,我将在15秒内初始化一个计时器.如果我上传一个小文件,它将在超时期限内完成.但是,如果我尝试上传一个非常大的文件,请抽出时间.那么如何决定上传大文件的时间.

在下载大文件的情况下也是如此.我在readyread()信号中通过chunk获取文件块.在这里,如果我下载一个大文件,我会抽出时间.那么如何决定上传大文件的时间.

networking qt

13
推荐指数
1
解决办法
1万
查看次数

等待信号

我正在开发一个将文件内容上传到服务器的应用程序.

要将文件上传到服务器,我使用的是"QNetworkAccessManager"类.由于它以异步方式工作,我通过使用QEventLoop将其更改为以同步方式工作.

Class FileTransfer
{
Public : 
     QNetworkAccessManager mNetworkManager;
     Void Upload(QNetworkRequest request, QIODevice *data)
     {
           responce = mNetworkManager.put(request, data);
           EventLoop.exec();
           ReadResponce(responce);
      }

      Void Stop()
      {
            responce ->close();
      }
}
Run Code Online (Sandbox Code Playgroud)

在我的示例应用程序中,我有2个窗口.第一个选择文件,第二个显示进度.

当用户在第一个窗口中单击上传按钮时,将显示第二个窗口,然后我创建FileTransfer对象并开始上传.

当用户关闭表单时上传文件,然后在窗口的析构函数中,我调用" FileTransfer " 的停止,然后删除' FileTransfer '对象.

但是这里的Upload()函数还没有完成,所以它会崩溃.

请帮助我:如何等待'stop() '函数,直到Upload()函数完成

qt signals signals-slots qt-signals

11
推荐指数
1
解决办法
2万
查看次数

指针和数组之间的区别

可能重复:
char*str ="STRING"和char str [] ="STRING"之间的区别?
C:指针和数组之间的差异

嗨,

谁能告诉我下面的陈述之间的区别?

char *p = "This is a test";

char a[] = "This is a test";
Run Code Online (Sandbox Code Playgroud)

c c++

10
推荐指数
2
解决办法
5907
查看次数

GetDC()和BeginPaint()之间的区别

我正在使用Win32 UI.我想知道GetDC和BeginPaint之间的区别.何时使用哪个API以及何时不使用哪个API.

windows winapi mfc

9
推荐指数
3
解决办法
8651
查看次数

我需要使用COM(组件对象模块)吗?

几天前我开始阅读COM.然后我的一个团队成员说这是一项古老的技术,现在没有人使用它了.

我的问题是:

1)如果它是一项旧技术,那么它的替代方案是什么.

2)为什么我不需要使用COM.即COM的缺点是什么.

c++ windows com winapi mfc

4
推荐指数
2
解决办法
1072
查看次数

使用引用或指针组成?

请告诉我哪一个好

考虑我有这样的课程

class Shape
{
public:
    virtual void Display()
    {
        cout << "Shape::Display()" << endl;
    }
};

class Line : public Shape
{
public:
    void Display()
    {
        cout << "Line::Display()" << endl;
    }
};

class Circle : public Shape
{
public:
    void Display()
    {
        cout << "Circle::Display()" << endl;
    }
};
Run Code Online (Sandbox Code Playgroud)

1)

class Container
{
public:
    Container(Shape& shape) : m_Shape(shape)
    {

    }

    void Draw()
    {
        m_Shape.Display();
    }
private:
    Shape& m_Shape;
};
Run Code Online (Sandbox Code Playgroud)

在这里,他正在参考并将其分配给基类对象.

2)

class ShapeContainer
{
public:
    ShapeContainer(Shape* pShape) : …
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
1
解决办法
2420
查看次数

如何在调用位置替换内联函数代码?

我想知道如何用内联代码替换内联函数调用.我读了一些书,说编译器可能会将内联函数视为正常函数.

可以自己解释内联函数的工作原理.

c++

2
推荐指数
1
解决办法
2833
查看次数