benjamin721 2016-01-13 02:05 采纳率: 0%
浏览 1587

关于getopt_long()参数的问题

c = getopt_long(argc, argv, ":hr::vp:dW;", longopts, NULL));
请问各位,上面这一句代码中,":hr::vp:dW;" ,为什么h前面有一个冒号。
不是都在参数后面加冒号吗?参数前面的冒号又代表什么意思??

谢谢

  • 写回答

1条回答 默认 最新

  • evi_7 2016-01-13 02:09
    关注

    1.冒号(:)用法
    (1)表示机构内位域的定义(即该变量占几个bit空间)

    typedef struct _XXX{

    unsigned char a:4;

    unsigned char c;

    } XXX;

    (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。

    struct _XXX{

    _XXX() : y(0xc0) { }

    };

    (3) public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个"public:”或"private:”出现为止。"private:"为默认处理。

    (4)类名冒号后面的是用来定义类的继承。

    class 派生类名 : 继承方式 基类名
    {
    派生类的成员
    };
    继承方式:public、private和protected,默认处理是public。
    你自己看看吧!!!

    评论

报告相同问题?