Which tool can ease the development, configuration, and build of your C++ project on different platforms?
CMake is often used as the configuration and build infrastructure, from small projects to the largest, such as [LLVM](https://www.llvm.org) or [Qt](https://www.qt.io/). Vim and GNU Emacs are powerful text editors. Autoconf and automake are tools that achieve a similar goal across \*nix platforms.
While the first answer is not factually incorrect, the second approach is best as it's much easier to add test along the way as the functionality is developed.
Is there a requirement to rewrite the operators to support Matrices with different data types?
C++ templates are a powerful feature as they enable generic programming, where code is parameterized by types. This allows to write code once, and let the compiler specialize it for a specific types.