I have a std::uint64_t m_value field in my class. In the default constructor, I write in the initialization list : m_value(0) . I work with different compilers, while you can adjust the output of warnings in the project settings. Some do not react to such initialization in any way, some write something about type conversion.
The question is: do I have to continue writing this way, or should I explicitly prescribe a type conversion, for example : m_value((std::uint64_t)(0)) , or via static_cast ? What is the best way to do? I understand that the implicit type conversion is, of course, executed, but it may make sense for a person reading the code to show what was meant?