如果我有以下代碼:我可以別名變量而不會產生引用的存儲成本嗎?
struct someStruct
{
int x;
int y;
}
class someClass
{
public:
someStruct m_member;
alias m_x = m_member.x; // I am aware alias is not a keyword and even if it was, I cannot assign it a value like this
alias m_y = m_member.y; // I am aware alias is not a keyword and even if it was, I cannot assign it a value like this
}
我能給別名m_member.x
和m_member.y
,而不會導致引用(這是一樣的指針)的額外存儲成本?類似於typedef的東西?
Nod。如果您想在不破壞現有代碼的情況下棄用舊名稱或透明地編寫另一個數據結構,那麼這樣的「別名」關鍵字肯定會很有價值。 D令人愉快地擁有「別名」關鍵字,而C++有「使用」,但它只能用於類型名稱而不是字段名稱。我希望C++有朝一日會採用D的能力(但它可能是通過「使用」關鍵字而不是「別名」)。 – 2014-07-24 22:06:23