facebook pixelC and C++ Static Code Analysis Rules
BACK TO LIST

C / C++ rules

C and C++ are really performant languages and can be very error-prone. We all had core dumps and made pointer arithmetic errors! Thankfully, Codiga has hundreds of static analysis rules to flag potential errors in your C/C++ code, automate code reviews and merge with confidence.

      passedByValue

      Performance
      Medium

      Function parameter should be passed by const reference.

      postfixOperator

      Performance
      Medium

      Prefer prefix ++/-- operators for non-primitive types.

      stlcstrParam

      Performance
      Medium

      Passing the result of c_str() to a function that takes std::string as argument no. 1 is slow and redundant.

      stlcstrReturn

      Performance
      Medium

      Returning the result of c_str() in a function that returns std::string is slow and redundant.

      stlFindInsert

      Performance
      Medium

      Searching before insertion is not necessary.

      stlIfStrFind

      Performance
      Medium

      Inefficient usage of string::find() in condition; string::starts_with() could be faster.

      useInitializationList

      Performance
      Medium

      Variable is assigned in constructor body. Consider performing initialization in initialization list.

      uselessCallsSubstr

      Performance
      Medium

      Ineffective call of function 'substr' because it returns a copy of the object. Use operator= instead.