Vector

std::vector permite o programador a criar um vetor com um tamanho dinâmico de elementos. Em outras palavras, é uma estrutura que permite inserir e remover elementos de uma lista em tempo de execução. No exemplo abaixo, A linha 3 inclui o header <vector>, para que seja possível utilizar a estrutura de dados std::vector. A linha 17 cria uma instancia de um vector. Os elementos desse vector serão do tipo Point. Ou seja, não será possível colocar inteiros, doubles, ou variáveis de nenhum outro tipo nesse vector. O vector foi inicializado sem elementos e, nas linhas 19 e 20, dois elementos são adicionados utilizando o método push_back.

#include <iostream>
#include <cmath>
#include <vector>
 
struct Point {
   double x;
   double y;
};
 
double calculate_distance(Point p1, Point p2)
{
   return sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
}
 
int main()
{
   std::vector<Point> points;
 
   points.push_back(Point{1.2, 3.4});
   points.push_back(Point{4.5, 5.6});
 
   std::cout << "A distância entre os pontos é " << calculate_distance(points[0], points[1]) << std::endl;
 
   return 0;
}

A linha 22 usa a função calculate_distance, mas passa como parâmetros os elementos cujos índices são 0 e 1 no vector. Tenha cuidado para nunca acessar o vector com indices que não foram populados. Para saber a quantidade de elementos de um vector, é possível utilizar o método size(). Para remover o último elemento adicionado, é possível utilizar o método pop_back().