Lý do cho typedefs
không được nhập mạnh? Có bất kỳ lợi ích nào mà tôi không thể nhìn thấy hay là do khả năng tương thích ngược? Xem ví dụ sau:Tại sao typedef không được đánh máy mạnh?
typedef int Velocity;
void foo(Velocity v) {
//do anything;
}
int main() {
int i=4;
foo(i); //Should result in compile error if strongly typed.
return 0;
}
Tôi không yêu cầu cho cách giải quyết để có được một kiểu dữ liệu đánh máy mạnh mẽ nhưng chỉ muốn biết tại sao tiêu chuẩn không đòi hỏi typedefs
được gõ mạnh?
Cảm ơn bạn.
Vì C là ngôn ngữ cho những người muốn hoàn thành công việc, không dành cho những người muốn suy ngẫm về vẻ đẹp toán học của các hệ thống kiểu trừu tượng. (Là một người đánh giá cao cả hai hoạt động, tôi không đánh giá một trong hai hoạt động này). –
@Stephen Canon: Ai nói rằng Abstract Type Systems không thể giúp bạn hoàn thành công việc? Gỡ lỗi các lỗi thời gian chạy do kết quả từ các loại bị lạm dụng vô tình chắc chắn không được tính là Bắt những điều đã hoàn thành trong cuốn sách của tôi. –
@MichaelBorgwardt: Tôi chắc chắn không nói rằng họ không thể. Tuy nhiên, họ * có thể * bị lạm dụng. –