函数参数名称和类变量名称之间的区别

时间:2010-10-16 04:15:49

标签: c++

class line
{
    public:
        line(int Width)
        : width(Width)
        {
        }

    private:
        int width;
};

我可以将Width命名为wantWidth,但我只是想知道,是否有这样的约定或更好的方法?我不想使用匈牙利表示法。

6 个答案:

答案 0 :(得分:1)

是的,有一个约定,数百个。我的目的是简单地使用下划线对我的成员名称进行后缀。

答案 1 :(得分:1)

只有一个约定..那就是始终遵循 it ..

答案 2 :(得分:0)

没有惯例。具有与成员同名的参数“遮蔽”成员:

class Foo {
  int mint;
  void hi(int mint) {
    mint = 2; // refers to the parameter
  }
};

我通常只是在参数名称前放一个_来防止冲突。 E.g。

void Myclass::memberFunction (int _param1, int _param2)
{
  param1 = _param1;
  member = _param2-3;
}

如果你愿意,可以自己制定约定。

答案 3 :(得分:0)

this-> width = width(或者在你的情况下为Width)

答案 4 :(得分:0)

一种常见的方法是使用“m”来区分成员变量。这最常用作前缀mWidthm_width。但另一种样式(由ASL使用,Adobe Source Libraries)更符合标准C ++名称,例如size_t,使用“m”作为后缀:width_m

class line
{
    public:
        line(int width)
        : width_m(width)
        {
        }

    private:
        int width_m;
};

答案 5 :(得分:0)

我会写这样的代码:

class Line
{
public:
    Line( int nWidth )
        : m_nWidth( nWidth )
    {
    }

private:
    int m_nwidth;
};

在我的代码中 - m_ *代表成员,n *代表数字(如果是无符号数字 - un等等......),所有类都以大写字母命名,public始终位于顶部。

我的意思是,我更喜欢匈牙利符号,它非常干净且有用。您可以阅读本文以获取更多信息http://en.wikipedia.org/wiki/Hungarian_notation