配列を関数に渡すとき、実際にはポインタを値渡ししていることは事実です。しかし、C++ を学んでいるだけの人は、ポインターについてまったく心配する必要はないと思います。彼らは、値または関数への参照によって変数を渡すことができることを学びます。
値によるとは、関数内の変数への変更が、呼び出し元の関数内の元の値に影響しないことを意味します。
参照により、関数が変数の値を変更すると、それらの変更は元の呼び出し関数で見られることを意味します。
配列が関数のパラメーターである場合 ( const キーワードなし)、配列内の値に加えられた変更は、元の呼び出し元の関数に表示されます。したがって、配列はデフォルトで参照によって渡されると言います。これにより、静的に宣言された配列を渡すのに実際にはあまり関係のないポインターが何であるかを説明する必要がなくなりますが、呼び出された関数の配列の値をいじると、それらの変更が呼び出し元の関数に保持されることを人々に知らせることができます.
私は一流の工学学校で「第 1 コース」のコンピューター サイエンス C++ コースを教えています (私たちのプログラミング チームは、今年ロシアで行われる世界大会に出場します)。クラスの約 90% は、実際にはコンピューター関連の専攻ではありません (主に機械エンジニア)。上記の資料は、ポインターが何であるかを説明しなくても、混乱させるのに十分すぎるほどです。それが、その本や他の人が配列が参照渡しであると述べている理由です。本を読んでいる多くの人は、細かいことをすべて学ぶ必要なく、配列を取得するのに「ちょうど十分な」C++ が必要だからです。本当にプログラミングしたい人は、配列が実際にポインターによって渡されるという事実に移行するのに問題はないはずです。
あくまで私の意見ですが。