2013-04-07 56 views
0

我在想,如果我們能有一個類的成員由2名來命名,比如我班有變量_width_height,我想我的代碼通過或者使用_width_rows使用_width。我雖然可以使用宏,但還有另一種方法可以在C++中使用宏。這也是一個很好的做法嗎? 感謝類memeber名別名++

+3

這是可能的,但這樣做的好處是什麼? – billz 2013-04-07 10:49:34

+0

它當然可以用預處理器宏來完成,但是所有的.e.g實例都可以完成。 '_rows'將被'_width'替代,並且可能不適合所有地方。我也不會說這是很好的做法。 – 2013-04-07 10:50:20

+0

您可以使用參考。但請記住,它需要內存(除非編譯器很聰明)。 – KAction 2013-04-07 10:50:25

回答

1

試試這個:

class StrangeOne { 
    int _width, _height; 
    int &_rows; 
public: 
    StrangeOne(int width,int height): 
    _width(width), 
    _height(height), 
    _rows(_width) 
    { 
    }; 
}; 
2

匿名聯合?

class two_names 
{ 
    union 
    { 
    int width; 
    int columns; 
    }; 
}; 

在C++ 11中,您甚至可以將非POD放在那裏。只要確定你知道你在做什麼。