tree c98bbf8481d7d67d0c539ca27ecc69ec4c6a0861
parent 2dcf7fa0d21b0f54d62fc6dc2d1c473e1cb01db9
author Wan-Teh Chang <wtc@google.com> 1621701690 -0700
committer Joe Drago <joedrago@gmail.com> 1621720438 -0700

Remove const from non-pointer function parameters

Using 'const' on non-pointer function parameters means the function
cannot modify the parameters. This could be useful in function
implementations, but should be avoided in function declarations.

C++ allows the function declaration and definition to differ in the
constness of the parameters. For example, in add.h we can declare

    int Add(int a, int b);

and in add.cc we can define the function with this prototpye:

    int Add(const int a, const int b)
    {
        return a + b;
    }

Unfortunately C doesn't allow this, even though gcc and clang allow this
as a language extension.
