指针保护和性能

Pointer Protection and Performance

本文关键字:性能 保护 指针      更新时间:2023-10-16

我在开发时使用if语句保护指针,以避免应用程序崩溃,即使理论上指针不应该为null。

我的问题是,在我确信指针在任何情况下都不会为空之后,删除这些if检查是否会通过非平凡的弹药计数来提高我的应用程序的性能?

如果您担心性能,但安全性仍然是一个问题,您可以考虑在If语句中添加__builtin_expect(大多数现代编译器都支持(标志。这将保留您在程序中设置的安全预防措施,但会告诉编译器针对指针不为null的情况优化分支的跳转标签。

然而,由于分支条件仍在计算中,因此这仍然会带来一些放缓。如果指针从未显式地声明为null,那么使用引用将是非常有利的。