== Why is this an issue? Attempting to make a comparison between pointers using >, >=, < or +<=+ will produce undefined behavior if the two pointers point to different arrays. Additionally, directly comparing two arrays for equality or inequality has been deprecated in {cpp}. However, equality or inequality between an array and a pointer is still valid === Noncompliant code example [source,cpp] ---- void f1 ( ) { int a1[ 10 ]; int a2[ 10 ]; int * p1 = a1; if ( p1 < a2 ) // Non-compliant, p1 and a2 point to different arrays. { } if ( p1 - a2 > 0 ) // Non-compliant, p1 and a2 point to different arrays. { } if ( a1 == a2) // Non-compliant (in C++). Comparing different array for equality is deprecated { } } ---- === Compliant solution [source,cpp] ---- void f1 ( ) { int a1[ 10 ]; int * p1 = a1; if ( p1 < a1 ) // Compliant, p1 and a1 point to the same array. { } if ( p1 - a1 > 0 ) // Compliant, p1 and a1 point to the same array. { } if ( p1 == a2 ) // Compliant, comparing a pointer and an array for equality is valid { } } ---- == Resources * MISRA C:2004, 17.3 - >, >=, <, +<=+ shall not be applied to pointer types except where they point to the same array. * MISRA {cpp}:2008, 5-0-18 - >, >=, <, +<=+ shall not be applied to objects of pointer type, except where they point to the same array. * {cpp} Core Guidelines - https://github.com/isocpp/CppCoreGuidelines/blob/e49158a/CppCoreGuidelines.md#es62-dont-compare-pointers-into-different-arrays[ES.62: Don't compare pointers into different arrays] ifdef::env-github,rspecator-view[] ''' == Comments And Links (visible only on this page) === is related to: S939 === is related to: S940 endif::env-github,rspecator-view[]