Nếu tôi có đoạn mã sau:Tôi có thể bí danh biến mà không làm phát sinh chi phí lưu trữ của tham chiếu không?
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
}
Tôi có thể cung cấp cho bí danh để m_member.x
và m_member.y
mà không bị chi phí lưu trữ thêm một tài liệu tham khảo (mà là giống như một con trỏ)? Một cái gì đó tương tự như một typedef?
Không có. Từ khóa 'bí danh' như vậy chắc chắn sẽ có giá trị khi bạn muốn từ bỏ tên cũ mà không vi phạm mã hiện tại hoặc để tạo thành một cấu trúc dữ liệu một cách minh bạch. D vui vẻ có từ khóa "bí danh", và C++ đã "sử dụng", nhưng thật đáng buồn chỉ hoạt động đối với tên loại chứ không phải tên trường. Tôi hy vọng C++ một ngày nào đó chấp nhận khả năng của D (nhưng nó có thể sẽ thông qua từ khóa "sử dụng" thay vì "bí danh"). –