Как узнать размер незаполненного массива в c++?
Заполните изначально массив INT_MAX и затем заполните его на столько элементов, сколько нужно. Затем ищите первый элемент равный INT_MAX. Индекс этого элемента и будет длиной массива см. Как работает strlen.

Второй и наилучший вариант - использовать std::array или написать его аналог
Ну конечно уж я ерундой занимаюсь.
Ну мои методики:
Длина.
int m[5] = {1, 2, 3};
int length = 3; // исходно, массив содержит 3 элемента

// добавляем новый элемент в массив
m[length] = 4;
length++;

// теперь массив содержит 4 элемента

Незаполненный.

int m[5] = {1, 2, 3};
int length = 3;

// ищем незаполненный элемент
for (int i = 0; i < length; i++) {
  if (m[i] == 0) {
    std::cout << "Незаполненный элемент: " << i << std::endl;
    break;
  }
}