D có 'newtype' (như trong Haskell) không.D có 'newtype' không?
Đó là một câu hỏi ngây thơ, vì tôi chỉ lướt qua D, nhưng Google không bật lên bất cứ điều gì hữu ích.
Trong Haskell, đây là cách để tạo các kiểu khác nhau của cùng một điều khác biệt tại thời gian biên dịch, nhưng không phát sinh bất kỳ hình phạt hiệu suất thời gian chạy nào.
ví dụ: bạn có thể làm cho newtypes (tăng gấp đôi) cho mét, giây và kg. Điều này sẽ sai tại thời gian biên dịch nếu chương trình của bạn thêm một số lượng tính bằng mét vào một số lượng tính bằng giây, nhưng sẽ nhanh như thời gian chạy như thể cả hai đều tăng gấp đôi (chúng ở thời gian chạy).
Nếu D không có cái gì đó tương tự như 'newtype', các phương pháp được chấp nhận để xử lý với số lượng kích thước là gì?
Xin cảm ơn,
Chris.
Một lớp bao bọc mỏng với quá tải toán tử approriate có thể hoàn thành công việc và được tối ưu hóa. Nhưng đó chỉ là một dự đoán và một giải pháp khá xấu xí. – delnan
@delnan: Trong D, bạn có thể sử dụng cấu trúc chứ không phải lớp. – dsimcha
Trong một khoảnh khắc tôi nghĩ: "newtype? .... như trong Gundam ????" XD – Klaim