Mẹo nhỏ: Để tìm kiếm chính xác các bài viết của Vuihecungchocopie.vn, hãy search trên Google với cú pháp: "Từ khóa" + "vuihecungchocopie". (Ví dụ: công thức giải rubik 3x3 vuihecungchocopie). Tìm kiếm ngay
19 lượt xem

Sử Dụng Template Trong C Thế Nào (Phần 1)

Bạn đang xem: Sử Dụng Template Trong C Thế Nào (Phần 1) Tại Vuihecungchocopie                        

Bạn đang quan tâm đến Sử Dụng Template Trong C Thế Nào (Phần 1) phải không? Nào hãy cùng Vuihecungchocopie đón xem bài viết này ngay sau đây nhé, vì nó vô cùng thú vị và hay đấy!

Trong bài viết này, tôi sẽ chỉ cho bạn cách thu được những kiến ​​thức quan trọng mà mọi lập trình viên C ++ phải biết và áp dụng. Đây là mẫu.

1. Mẫu trong c ++ là gì?

  • template là một từ khóa trong c ++, một kiểu dữ liệu trừu tượng, được tổng quát hóa thành các kiểu dữ liệu int, float, double, bool …
  • Có hai loại mẫu trong C ++: mẫu hàm & mẫu lớp.
  • Mẫu giúp người lập trình xác định các hàm và lớp chung thay vì nạp chồng từng hàm hoặc phương thức với các kiểu dữ liệu khác nhau.
  • 2. Cách sử dụng các mẫu hàm

    • Cú pháp khai báo hàm mẫu
    • Tại sao chúng ta phải sử dụng các mẫu?

      Bạn đang xem: Template c++ là gì

      Hãy thử xem ví dụ về hàm swapval () bên dưới, sau đó rút ra nhận xét của riêng bạn.

      function swapval (int & amp; a, int & amp; b) chỉ áp dụng được cho 2 biến kiểu int nên muốn đổi 2 biến kiểu dữ liệu double, char, string … ta phải nạp chồng lại 1 lần

      Từ ví dụ trên, chúng ta có thể thấy rằng việc quá tải hàm nhiều lần sẽ chiếm rất nhiều thời gian và bộ nhớ của máy tính. Để tối ưu hóa việc quá tải, chúng ta sẽ viết một hàm để xử lý. Mẫu hoán đổi như sau:

      Hãy thử chạy nó:

      Xem thêm: Triệt sản cho mèo – tất tần tật những điều cần biết | Animal Doctors International | Quality Vet Care – Your Trusted Vet Hospital‎ (Vietnam & Laos)

      Sau khi chạy chương trình sẽ có kết quả:

      Từ ví dụ trên, chúng ta có thể thấy rằng kiểu dữ liệu chính xác của biến được xác định trong thời gian chạy và chương trình ngắn gọn hơn nhiều so với việc tải lại từng hàm swapval ()

      Giải thích:

      Tiền tố

      • template
        • template & lt; class val & gt;
          • class ở đây là một kiểu hoặc lớp con, vì vậy nó không phải là lớp mà chúng ta thường thấy trong lập trình hướng đối tượng cụm từ này.
          • C ++ cho phép từ khóa “typename” thay cho từ khóa class, nhưng chúng ta nên sử dụng từ khóa class trong mọi trường hợp. sử dụng lớp)
          • Trong phần nội dung của định nghĩa hàm, val được sử dụng làm bất kỳ kiểu nào phù hợp với kiểu đầu vào.
          • Từ val là tên tượng trưng của lớp, vì vậy nó có thể được thay thế bằng bất kỳ từ nào khác mà chúng tôi muốn.
            • Định nghĩa Mẫu hàm:
              • Mẫu hàm swapval () là một tập hợp các định nghĩa.
              • Khi chúng tôi chạy chương trình với các đối số được truyền cho hàm swapval () kiểu int, trình biên dịch sẽ tạo ra một định nghĩa về hàm swapval (int & amp; a, int & amp; b) thay vì các tham số kiểu float, double hoặc sợi dây. Vì vậy, chúng ta có thể kết luận rằng trình biên dịch chỉ tạo ra các định nghĩa khi cần thiết, miễn là chúng ta đã xác định cho tất cả các kiểu.
              • Từ đó, chúng ta có thể thấy rằng lợi thế to lớn của các mẫu trong C ++ là chúng ta viết một hàm để xác định nó cho tất cả các kiểu có thể có.
              • Gọi hàm mẫu
                • Xem xét hoán đổi cuộc gọi hàm (intx, inty) Trình biên dịch c ++ sử dụng các mẫu để khởi tạo định nghĩa hàm với hai tham số int, v.v. cho tất cả các kiểu khác.
                • Một số lưu ý khi viết hàm mẫu:

                  • Mẫu & lt; class temp & gt;, temp chỉ chịu trách nhiệm xác định một kiểu dữ liệu duy nhất, do đó, các biến kiểu int và double không thể được gán cho cùng một kiểu dữ liệu tạm thời cùng một lúc.
                  • Ví dụ:

                    Chương trình sẽ báo lỗi sau

                    Xem thêm: Đá Pyrite Là Gì? 5 Ý Nghĩa Phong Thủy Vàng Găm🔑

                    Annotation%202020 07 11%20182300

                    Để giải quyết vấn đề này, chúng tôi khai báo một kiểu dữ liệu chung bổ sung như sau:

                    Khi chạy chương trình chúng ta nhận được kết quả là 2.1, từ đây có thể thấy rằng khi muốn sử dụng bao nhiêu kiểu dữ liệu chung thì khai báo càng nhiều càng tốt.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *