Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QString对缓冲区溢出安全吗?_C++_Qt - Fatal编程技术网

C++ QString对缓冲区溢出安全吗?

C++ QString对缓冲区溢出安全吗?,c++,qt,C++,Qt,据我所知,的Qt文档并未涉及此主题。 任何人都可以详细说明这一点?QString为您希望包含的数据动态分配内存,因此不会发生溢出 尽管如果您试图使用QString::at(int position)或类似方法访问其边界以外的字符串数据,仍有可能导致程序崩溃。QString会为您希望包含的数据动态分配内存,因此不会发生溢出 尽管如果您试图使用QString::at(int位置)或类似方法访问超出其边界的字符串数据,仍有可能导致程序崩溃。您问了一个错误的问题:没有库代码可以避免缓冲区溢出。您可以以任

据我所知,的Qt文档并未涉及此主题。

任何人都可以详细说明这一点?

QString
为您希望包含的数据动态分配内存,因此不会发生溢出


尽管如果您试图使用
QString::at(int position)
或类似方法访问其边界以外的字符串数据,仍有可能导致程序崩溃。

QString
会为您希望包含的数据动态分配内存,因此不会发生溢出


尽管如果您试图使用
QString::at(int位置)
或类似方法访问超出其边界的字符串数据,仍有可能导致程序崩溃。

您问了一个错误的问题:没有库代码可以避免缓冲区溢出。您可以以任何方式滥用任何数据结构。当您正确地使用库代码,并且假设它没有bug时,当然,您将不会受到缓冲区溢出的影响。但是,当您正确地编写每一个非常低级的C代码时,您也将如此


问的正确问题是:可以使用<代码> QStult或其他C++容器类来帮助<强> > <强>避免由于愚蠢错误导致的缓冲区溢出。对但是,归根结底,您需要了解缓冲区溢出是如何发生的,并相应地审核您的代码,无论您使用什么库。

您问了一个错误的问题:没有库代码可以避免缓冲区溢出。您可以以任何方式滥用任何数据结构。当您正确地使用库代码,并且假设它没有bug时,当然,您将不会受到缓冲区溢出的影响。但是,当您正确地编写每一个非常低级的C代码时,您也将如此

问的正确问题是:可以使用<代码> QStult或其他C++容器类来帮助<强> > <强>避免由于愚蠢错误导致的缓冲区溢出。对但是,归根结底,您需要了解缓冲区溢出是如何发生的,并相应地审核您的代码,无论您使用什么库