The C++ compiler does not write run-time checks on array indexing. Once the array is passed to the C++ compiler it is accessed using C++ rules. You can expect buffer overflow checking if you pass an Ada subprogram handling the array to the C++ compiler. The Ada compiler will generate the subprogram with the expected run-time checks.