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
이 enum'd 형 E의 변수입니다, 내 enumed 발을 사용하고 싶었, 나는 매크로
inc
이 이 값은
t
의 값을 1 씩 증가시킵니다.
int t
을 사용하는 것보다이 매크로 (그리고 아마도 플래그 검사와 같은 다른 매크로)가 그렇게 효율적이지 않습니까?
"비효율적"으로 "잘못됨"이 아닙니다. –
int를 증가 시키려면 왜 사용하지 않습니까? 또한 해체를보고 실제로 진행되는 것을 확인하십시오. – Andrei
이것은 정의 된 동작입니까? –