프로덕션에서 써먹는 코드 트릭(?) 중에 제일 좋아하는 걸 써봅시다

얼마나 많은 흑마법들이 튀어나올지 궁금하네요… :stuck_out_tongue:
일단 저는 이걸로 하겠습니다.

struct optional_descriptor;

struct core_descriptor
{
    uint32_t member_x;
    uint32_t member_y;
    size_t option_cnt;
    struct optional_descriptor option_ptr[0];
};

struct core_descriptor * alloc_core_desc(size_t option_cnt)
{
    struct core_descriptor *desc = malloc(sizeof(struct core_descriptor) +
            sizeof(struct optional_descriptor) * option_cnt);
    if (desc)
        desc->option_cnt = option_cnt;
    return desc;
}

struct optional_descriptor * access_opt_desc(struct core_descriptor *desc, size_t idx)
{
    return (!desc || desc->option_cnt <= idx) ? NULL : &desc->option_ptr[idx];
}

:blush:

저는 이런걸 사용해야 하는 코딩을 해본게 언제인지 기억나지 않네욬ㅋ

이런걸 사용하지 않는 코딩이 행복한 코딩이 아닐지요… 기억하지 않으시는 편이… :V

1 Like