QString对缓冲区溢出安全吗?
Is QString safe about buffer overflow?
据我所知,QString的Qt文档并没有讨论这个主题。
有人能详细说明一下吗?
QString
动态地为您想要包含的数据分配内存,因此不会发生溢出。
虽然你仍然有机会崩溃你的程序,如果你试图访问字符串数据以外的边界使用QString::at(int position)
或类似的
您问错了问题:没有库代码可以避免缓冲区溢出。您可以以任何方式滥用任何数据结构。如果正确地使用库代码,并且假设它没有错误,那么当然可以避免缓冲区溢出。但是,当你正确地编写每一个非常低级的C代码时,你也会这样做。
正确的问题是:QString
或其他c++容器类可以用来帮助你避免缓冲区溢出由于愚蠢的错误?是的。但是,最终,它是在上,您了解缓冲区溢出是如何发生的,并相应地审计您的代码,无论您使用什么库。
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 虚拟决赛作为安全
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 'short int'持有的值溢出,但"自动"不会溢出?
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 大于65535的C++数组[size]引发不一致的溢出
- 如何将元素添加到数组的线程安全函数?
- C++中的线程安全删除
- 通过网络、跨平台传递std::变体是否安全
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- C++中无符号字符溢出
- 在std::thread中,joinable()然后join()线程安全吗
- 使用std::istream::peek()总是安全的吗
- 从值小于256的uint16到uint8的Endian安全转换
- 给定一个类型,如何派生一个泛型更广泛的类型(例如,用于溢出安全求和)?
- "auto"对 C++17 中的整数溢出是否安全?
- 从字符串中读取溢出双倍作为'inf'的安全方法
- 有没有一种安全的方法可以在不触发溢出的情况下获得有符号整数的无符号绝对值
- QString对缓冲区溢出安全吗?