C++ Skills
Core C++ Skills
- Object-Oriented Programming (OOP) Concepts
- Data Types, Variables, and Operators
- Control Statements (Loops, Conditionals)
- Memory Management (Pointers, Dynamic Allocation)
- Templates and Generics
- Exception Handling and Error Management
- Standard Template Library (STL)
- Multithreading and Concurrency
C++ 11
- Auto Keyword and Type Inference
- Range-Based for Loops
- Smart Pointers (e.g., `std::unique_ptr`, `std::shared_ptr`)
- Lambda Expressions
- Move Semantics and Rvalue References
- Thread Support Library
- Uniform Initialization
- Static Assertions
C++ 14
- Generic Lambdas
- Return Type Deduction
- Relaxed constexpr Restrictions
- Binary Literals
- Digit Separators
- Improved Type Deduction
- Enhanced User-Defined Literals
- decltype(auto)
C++ 17
- Structured Bindings
- Optional and Variant Types
- Inline Variables
- Fold Expressions
- Parallel Algorithms
- std::string_view
- Filesystem Library
- Improved Template Argument Deduction
C++ 20
- Concepts
- Ranges Library
- Coroutines
- Calendar and Time Zone Library
- Immediate Functions (consteval)
- Expanded constexpr Capabilities
- Three-Way Comparison Operator (<=>)
- Modules
Advanced C++ Techniques
- Template Metaprogramming
- CRTP (Curiously Recurring Template Pattern)
- Policy-Based Design
- Static Polymorphism
- Advanced Memory Management Techniques
- Code Optimization Techniques
- Embedded Systems Programming
- Multithreaded Programming Patterns
C++ Libraries and Tools
- Boost Libraries
- Qt Framework
- OpenCV for Computer Vision
- Eigen for Linear Algebra
- Google Test for Unit Testing
- CMake for Build Management
- Valgrind for Memory Debugging
- AddressSanitizer for Detecting Memory Errors
Testing
- Google Test (gtest) for Unit Testing
- Google Mock (gmock) for Mocking Dependencies
- Catch2 for Unit Testing
- Boost.Test for Unit Testing
- Test-Driven Development (TDD) Practices
- Integration Testing with C++
- Code Coverage Tools (e.g., gcov)
- SonarQube for Static Code Analysis