C- Will GCC决定变量作为不同类型的变量更好



例如,如果我声明 int num = 7;,并且仅以某种方式使用它可以并且应该被声明为 const char num = 7;,因为char使用的内存少于int,则会优化gcc或这样做甚至无关紧要,因为它将转换为组装?我意识到,在这种情况下,该变量将被完全优化,但是是否有一个场景,GCC决定变量更好地为另一种类型?

如果程序的副作用没有明显的差异,则编译器有权进行其喜欢的任何优化。7可能永远不会出现在生成的代码中(例如,如果您仅在诸如n+3之类的表达式中使用),并且如果您从不使用其地址,则不需要任何存储。

最新更新