Fix numeric limits usage

Functions min() and max() of std::numeric_limits<T> are static and can therefore be accessed via class name and :: operator instead of constructing an object of that class and access that.

This pull request also fixes an uninitialized pointer I missed in #317.