根据" 请加入我欢迎memcpy()到SDL Rogues画廊 " memcpy被禁止为不安全.有意义的是gets(),strcpy目的地大小不清楚的类似的apis.是memmove()下一个?
所有这些"安全"方法的关键是:
当然,您可以
memcpy_s()通过错误地调整缓冲区大小来轻松调用不安全的方法.
[ 来源 ]
这就是为什么我发现这个SDL功能高度过度炒作的原因.当然,如果编译器没有采取预防措施(或者在性能和/或存储器方面成本很高的适当运行时),这些问题在诸如C之类的语言中是固有的.
它还使程序不那么便携,我个人认为这是一个巨大的劣势.当然,微软不一定会同意.
正确使用(已检查)迭代器将代码迁移到C++可能会更有意义.这些操作虽然本质上也不安全,但更容易使用,并使错误的代码脱颖而出.当然,需要注意的是,所有那些C粉丝和C++否认者都会在我的皮肤之后......