以下引用自 std::memset - cppreference.com:
若 std::memset 所修改的对象在其生存期的剩余部分不再被访问,则此函数可以被优化掉(在如同规则下)(例如 gcc 漏洞 8537)。为此,此函数不能用于擦洗内存(例如以令填充存储密码的数组)。
该问题的解决方案包含 volatile 指针的 std::fill,(C23) memset_explicit(),(C11) memset_s,FreeBSD explicit_bzero,或 Microsoft SecureZeroMemory。
请问这个怎么理解?在 OI 中是否可以浅显地认为 std::memset 只能用于程序开始时的初始化?