Towards Dev

A publication for sharing projects, ideas, codes, and new theories.

Follow publication

10 Essential Tips for Writing Efficient and Readable C++ Code

Mahmmoud Mahdi
Towards Dev
Published in
2 min readFeb 5, 2023

--

Here are some tips for writing efficient and readable C++ code:

  1. Prefer to use “auto” keyword for declaring variables to avoid type errors and improve readability.
auto num = 5; // no need to specify the type, int is inferred

2. Use const whenever possible to prevent accidental modification of variables.

const int MAX_VAL = 100;

3. Avoid using global variables and instead use local variables with appropriate scope.

// bad practice
int score;

// better practice
int main() {
int score;
// ...
}

4. Make use of the Standard Template Library (STL) for common tasks such as searching, sorting, and managing collections of data.

#include <vector>

std::vector<int> numbers = {1, 2, 3, 4, 5};
for (const auto& num : numbers) {
std::cout << num << ' ';
}

5. Use smart pointers instead of raw pointers to prevent memory leaks and improve code readability.

#include <memory>

std::unique_ptr<int> pNum = std::make_unique<int>(5);

6. Always initialize variables, especially class member variables, to avoid unexpected behavior.

class Example {
int num = 0;
};

7. Use range-based for loops to simplify looping through arrays and other containers.

std::vector<int> numbers = {1, 2, 3, 4, 5};
for (const auto& num : numbers) {
std::cout << num << ' ';
}

8. Avoid using C-style casts and instead use C++ style casts, such as static_cast or dynamic_cast.

int x = 5;
double y = static_cast<double>(x);

9. Use exceptions to handle errors and unexpected events, instead of error codes or return values.

#include <exception>

int Divide(int num1, int num2) {
if (num2 == 0) {
throw std::logic_error("division by zero");
}
return num1 / num2;
}

10. Write clean and readable code, using clear naming conventions and commenting where necessary.

// good practice
int MultiplyNumbers(int num1, int num2) {
return num1 * num2;
}

// better practice with proper naming and commenting
int MultiplyTwoNumbers(int firstNumber, int secondNumber) {
// return the result of multiplying the two input numbers
return firstNumber * secondNumber;
}

Adhere to best practices and stay up-to-date with modern C++ techniques to write effective and maintainable code.

--

--

No responses yet

Write a response