Một thực tế đơn giản là nhiều người, nếu không phải hầu hết, người dùng C ++ khó có thể nắm bắt được điều đó vector
tốt hơn malloc
và free
, vì vậy số người không chỉ đánh giá cao mà còn thực hiện siêu lập trình mẫu nâng cao không cao lắm. Điều này ngụ ý rằng ngay cả khi nó tốt cho 90% các tình huống, bạn sẽ thấy nó ít hơn nhiều, đơn giản là vì mọi người không biết về nó hoặc cách sử dụng nó.
Tuy nhiên, các chức năng ảo thực sự có lợi thế, cụ thể là các chức năng ảo dễ sử dụng hơn nhiều so với CRTP. Các mẫu C ++ nổi tiếng là hư hỏng về hầu hết mọi thứ và mọi thứ, và mô hình bao gồm hút bóng.
Tuy nhiên, chúng [chức năng ảo] chậm hơn rõ rệt và kém mạnh mẽ hơn. Ví dụ, tôi hiện đang viết mã bằng CRTP, nơi bạn thừa hưởng quá tải toán tử để sử dụng với các mẫu biểu thức. Không có cách nào các chức năng ảo có thể làm cho nó hoạt động.