Qt C++: 避免 QStringList 越界访问导致程序崩溃
在 Qt C++ 开发中,访问 QStringList 的越界索引会导致程序崩溃。例如,以下代码尝试访问索引 20 的元素,但 QStringList aa 是空的,因此会导致程序崩溃:
QStringList aa;
qDebug() << aa.at(20);
要避免这种情况,您可以采取以下两种方法:
- 使用条件语句检查索引范围:
QStringList aa;
if (aa.size() > 20) {
qDebug() << aa.at(20);
} else {
qDebug() << 'Index 20 is out of range.';
}
- 使用 try-catch 块捕获异常:
QStringList aa;
try {
qDebug() << aa.at(20);
} catch (const std::out_of_range& e) {
qDebug() << 'Error: ' << e.what();
}
通过这些方法,您可以确保程序在访问 QStringList 时不会出现越界错误,从而避免程序崩溃。
原文地址: http://www.cveoy.top/t/topic/nuUR 著作权归作者所有。请勿转载和采集!