gpt4 book ai didi

c++ - 这是低效的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:08:45 26 4
gpt4 key购买 nike

Extending这个问题,我想使用我的枚举值,因为它们“应该”是,

#include <stdio.h>
enum E{ A, B, C } ;

#define inc(enVal) (*((int*)&enVal))++

int main()
{
E t = A ;
inc( t ) ;
printf( "t %d\n", t ) ;
}

现在,嗯,t 是枚举类型 E 的变量,我有一个宏 inc 可以增加 t 的值1,

那么这个宏(可能还有其他类似的用于标志检查的宏)是否会比仅使用 int t 效率低得多?

最佳答案

不,它不会降低效率。然而,这将是令人难以置信的、可怕的、错误的。请永远不要。

哦,特别是因为枚举的支持类型是未定义的,而且在某些编译器上它们实际上可能被编译为小于 int 的大小。

关于c++ - 这是低效的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com