gpt4 book ai didi

c++ - MISRA C++-2008 规则 5-0-15 - 数组索引应是指针算术的唯一形式

转载 作者:行者123 更新时间:2023-11-28 02:16:00 26 4
gpt4 key购买 nike

我需要对 MISRA 有更多经验的人来帮助我解决这个问题。我有以下代码:

byte* buf = new(std::nothrow) byte[bufferSize];

.....
for (uint32_t i = 0; i < bufferSize; i+=4)
{

..............
{
buf[ i+0 ] = b;
buf[ i+1 ] = g;
buf[ i+2 ] = r;

(1) Event misra_violation: [Required] MISRA C++-2008 Rule 5-0-15 violation: Array indexing shall be the only form of pointer arithmetic.
buf[ i+3 ] = a;

}

MISRA 规则 5-0-15 也不允许 ptr++ 或 ptr--。使用由 new 创建的指针递增/递减和赋值的方法应该是什么?

我的 MISRA 检查器是 Coverity 7.0.3.3。

最佳答案

你的代码没有问题。它根据需要使用数组索引。你的静态分析器坏了。

关于c++ - MISRA C++-2008 规则 5-0-15 - 数组索引应是指针算术的唯一形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34015315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com