使用在线匿名结构进行组织

时间:2011-06-03 00:19:24

标签: c++ coding-style

在下面的代码中,我在我的类声明中放置了匿名结构,以期提高它的可读性。

class example {
    private:
        struct barrier {
            boost::barrier playlist_avaliable;
            boost::barrier display_sync;
            barrier( ) : playlist_avaliable( 2 ), display_sync( 3 ) { }
        } barrier;
    public:
        example( ) { }

        void playlist_avaliable( ) {
            barrier.playlist_avaliable.wait();
        }
};

这比使用'barrier_playlist_avaliable'等名称的变量更好吗?

1 个答案:

答案 0 :(得分:0)

好的,一些随意的想法:

  1. 之后省略'障碍' 结构。这是多余的。
  2. 这是 几乎没有语法糖。它 是一种很好的分组变量的方法。
  3. 是否应该使用结构可能 受问题的影响有多大 透明的内部结构应该 以班级为例。例如,您是否希望在示例的构造函数中初始化结构的成员?
  4. 类似的问题适用于析构函数。
  5. 更多是写作。这很糟糕。
  6. 它有助于将大量恼人的东西包装到单个对象中。有意复制这些成员或将一组快速重写的内部包装成单个名称。这可能会有所帮助。
  7. 您应该在整个代码中保持一致,无论您以何种方式定义一致。
  8. 与(1)相反:保留内部结构名称,但稍微更改名称。对于你想以更广泛的方式使用这个结构的情况,这可能并不太远。