Can you think of a situation where your program would crash without reaching the breakpoint which you set at the beginning of main()?
When main() isn't invoked C++ allows for dynamic initialization of global variables. It is possible that global initialization will invoke some function. When main() is not entered this function crashes the crash will be occur. Non-static const data members and reference data members cannot be assigned values; instead, We should use initialization list to initialize them.