noknow.dev
Sign inSign up
Course overview
C++ Fundamentals
0 / 39 lessons0%

Getting Started

  • Hello, World!
  • Variables and Data Types
  • Arithmetic and Operators
  • Working with std::string
  • Type Conversion and Casting

Control Flow

  • if / else if / else
  • switch / case
  • while and do-while Loops
  • for Loops
  • break, continue, and Finding Primes

Functions

  • Writing Functions
  • Pass by Value vs. Pass by Reference
  • Overloading and Default Parameters
  • Recursion

Arrays and Strings

  • C-style Arrays
  • std::vector — Dynamic Arrays
  • std::string Deep Dive
  • 2D Arrays and Matrices

Pointers and Memory

  • Memory Addresses and Pointers
  • Dynamic Memory: new and delete
  • References vs Pointers

Object-Oriented Programming

  • Classes and Objects
  • Constructors and Destructors
  • Inheritance
  • Virtual Functions and Polymorphism
  • Operator Overloading

The Standard Template Library

  • std::vector in Depth
  • std::map and std::unordered_map
  • std::set and Sorted Unique Collections
  • STL Algorithms

Templates and Generic Programming

  • Function Templates
  • Class Templates

Modern C++ (C++11/14/17)

  • auto and Range-based for
  • Lambda Functions
  • Smart Pointers
  • Move Semantics

Error Handling and Exceptions

  • try / catch / throw
  • Custom Exception Classes
  • RAII and Resource Management

std::vector — Dynamic Arrays

0m 00s

The Most Useful Container in C++

#include <vector>

vector<int> v = {1, 2, 3};
v.push_back(4);          // {1,2,3,4}
v.pop_back();            // {1,2,3}
v.size()                 // 3
v[1]                     // 2
v.front()                // 1
v.back()                 // 3
v.empty()                // false
v.clear()                // empty vector {}

Other initializations

vector<int> a(5, 0);     // 5 zeros: {0,0,0,0,0}
vector<int> b(a);        // copy of a

Range-based for

for (int x : v)          { cout << x; }  // by value
for (const int& x : v)  { cout << x; }  // by const ref (no copy)
for (int& x : v)        { x *= 2; }     // by ref (can modify)

Your Task

Write vectorSum(vector<int> v) and vectorAvg(vector<int> v) that return the sum and average (as double) of all elements.

Back
cppCtrl+Enter to run
Output

Click "Run" to execute your code.