A static array implementation in C++
I would allow the default constructor and make it default to a 0 size array. with the optimization that b_array is a nullptr.

Then you can also add move constructors/assignment. Where the moved-from object gets a b_array = nullptr;

On of the basic functionalities of a container is iteration. So you should add a begin() and end() that return the b_array and b_array+array_size resp. Don't forget the const versions.