cuốn sách gpt4 ai đã làm

Quá tải chức năng hoạt động như thế nào trong thời gian chạy và tại sao nó phải bị quá tải?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 01:04:18 hai mươi bốn 4
mua khóa gpt4 Nike

Giả sử tôi có một lớp tên là ClothingStore. Lớp này có 3 chức năng thành viên hướng khách truy cập đến đúng bộ phận của cửa hàng. Các chức năng thành viên là ChildrenDept, MenDept và WomenDept, tùy thuộc vào việc khách truy cập là trẻ em, đàn ông hay phụ nữ.

Nạp chồng hàm có thể được sử dụng để tạo ra 3 hàm có cùng tên, chẳng hạn như PointToDept, nhưng lấy các tham số đầu vào khác nhau (trẻ em, nam, nữ).

Khi một chương trình được thực thi, điều gì thực sự xảy ra trong thời gian chạy?

Tôi đoán là trình biên dịch đã thêm câu lệnh chuyển đổi vào chương trình để chọn đúng hàm thành viên. Nhưng điều đó khiến tôi băn khoăn - liệu có bất kỳ lợi ích nào về hiệu suất chương trình khi sử dụng các hàm bị quá tải thay vì tạo hàm của riêng bạn bằng các câu lệnh chuyển đổi không? Một lần nữa, kết luận duy nhất của tôi cho phần này là khả năng đọc mã. Cảm ơn.

câu trả lời hay nhất

Tôi đoán là trình biên dịch sẽ thêm các câu lệnh chuyển đổi vào chương trình để chọn đúng hàm thành viên.

Đây là một suy đoán sai lầm. C++ là một ngôn ngữ gõ tĩnh. Loại biến không thay đổi trong thời gian chạy. Điều này có nghĩa là quyết định về việc gọi quá tải không đa hình nào luôn có thể được đưa ra tại thời điểm biên dịch. Mục 13.3 trong tiêu chuẩnGiải pháp quá tảiĐiều này được đảm bảo. Không có lý do gì để đưa ra quyết định trong thời gian chạy khi các quyết định có thể được đưa ra vào thời điểm biên dịch. Trong hầu hết các triển khai, chi phí thời gian chạy của hàm quá tải không đa hình là bằng không. Ngoại lệ duy nhất có thể là trình thông dịch C++.

Giới thiệu về c++ - Quá tải hàm hoạt động như thế nào trong thời gian chạy và tại sao nó phải bị quá tải? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/21617232/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress