小编Rus*_*shK的帖子

C++例外; int或std :: exception?

我正在编写一些需要进行错误报告的库函数.我想使用异常而不是返回值.

我编写了抛出异常的函数.

例如:

if(strm->atEnd()){
    // unexpected end of stream
    throw -2;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,这种方法可以吗?或者我应该抛出从std :: exception派生的异常?

以什么方式抛出std :: exception更好?(除了能够使用catch(std :: exception&e))

抛出异常不好的做法?(所有throw int值都记录在doxygen注释中)

我找不到任何理由为什么(在这种情况下)我应该抛出一个对象.

c++ exception

13
推荐指数
3
解决办法
9402
查看次数

逐行读取文件与读取整个文件时的性能

与一次读取整个文件相比,逐行读取时间(理论上)是否存在显着差异?

读取整个文件确实会对使用的内存量产生负面影响,但它的工作速度会更快吗?

我需要读取一个文件并处理每一行.我不知道我是否应该一次读取一行并处理它,或者读取整个文件,处理所有行,然后写入输出.

我已经设置了prgm逐行读取,我想知道是否值得努力改变它来读取整个文件(给我的设置不容易).

谢谢,

c++ performance qt processing-efficiency

7
推荐指数
1
解决办法
2619
查看次数

调用重载 'qHash(const double&)' 不明确

当我尝试将 QList 转换为 QSet 时出现此错误。

QList<double> x_pts;
x_pts << 4.1;
x_pts << 2.2;
x_pts << 2.2;
x_pts << 1.3;
qSort(x_pts);
QSet<double> list = x_pts.toSet();
Run Code Online (Sandbox Code Playgroud)

知道为什么我会收到此错误吗?如果我将类型更改为 int 或 double*,它可以正常工作。但 double 也应该工作。

我想要做的就是从我的列表中删除重复项。我想找到一种方法来做到这一点,而无需自己迭代列表。

任何帮助消除此错误或删除重复项的其他功能将不胜感激。

谢谢,

匆忙

c++ qt qlist

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

标签 统计

c++ ×3

qt ×2

exception ×1

performance ×1

processing-efficiency ×1

qlist ×1