Intel Corporation Interview Question

Can memset be used in C++? What is the problem?

Interview Answer

Anonymous

Oct 2, 2015

In C++ std::fill or std::fill_n may be a better choice, because it is generic and therefore can operate on objects as well as PODs. However, memset operates on a raw sequence of bytes, and should therefore never be used to initialize non-PODs. Regardless, optimized implementations of std::fill may internally use specialization to call memset if the type is a POD.