7

たとえばstatic const struct、ヘッダー ( .h) ファイルに次のような階層を作成するとします。

static const struct {
    struct {
        char STATIC /* = 0 */;
        char DYNAMIC /* = 1 */;
    } ALLOCATION;
    struct {
        char TABLE /* = 0 */;
        char LIST /* = 1 */;
        char TREE /* = 2 */;
    } STRUCTURE;
} FOO_STRATEGY = { {0, 1}, {0, 1, 2} };

foo_t *foo_create(char allocation_strategy, char structure_type);

次に、次のように使用されます。

foo_t *foo = foo_create(FOO_STRATEGY.ALLOCATION.STATIC, FOO_STRATEGY.STRUCTURE.TREE);

私は2つの部分からなる質問があると思います:

  1. これは期待どおりに機能しますか?
  2. なぜ他の人はこれをしないのですか?
4

3 に答える 3