sách gpt4 ăn đã đi

Tại sao phạm vi lặp tiêu chuẩn là [bắt đầu, kết thúc) thay vì [bắt đầu, kết thúc]?

In lại Tác giả: IT Lão Cao Thời gian cập nhật: 28-10-2023 11:27:37 28 4
mua khóa gpt4 giày nike

Tại sao tiêu chuẩn sẽ kết thúc() Được xác định là sự kết thúc chứ không phải sự kết thúc thực sự?

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

Lập luận tốt nhất làBản thân Dijkstra những luận cứ được trình bày. :

  • Bạn muốn kích thước của phạm vi là một sự khác biệt đơn giảnkết thúc - bắt đầu;

  • Khi chuỗi suy biến thành chuỗi trống, việc bao gồm giới hạn dưới sẽ "tự nhiên" hơn và bởi vì phương án thay thế (loại trừgiới hạn dưới) yêu cầu sự hiện diện của giá trị thẻ "một trước" -bắt đầu".

Bạn vẫn cần giải thích lý do tại sao bạn bắt đầu đếm từ 0 thay vì một, nhưng đó không phải là một phần câu hỏi của bạn.

Sự khôn ngoan đằng sau quy ước [bắt đầu, kết thúc) sẽ quay trở lại nhiều lần khi bạn có bất kỳ loại thuật toán nào xử lý nhiều lệnh gọi lồng nhau hoặc lặp lại đối với các cấu trúc dựa trên phạm vi, kết hợp với nhau một cách tự nhiên. Ngược lại, việc sử dụng phạm vi khép kín kép có thể dẫn đến lỗi cũng như mã rất khó chịu và ồn ào. Ví dụ, hãy xem xét một phân vùng [N0, N1)[N 1, N2)[N2,N3). Một ví dụ khác là vòng lặp tiêu chuẩn đối với (nó = bắt đầu; nó != kết thúc;++nó), chạy kết thúc - bắt đầu Hạng hai. Nếu cả hai đầu đều được bao gồm, mã tương ứng sẽ khó đọc hơn nhiều - hãy tưởng tượng cách bạn xử lý các phạm vi trống.

Cuối cùng, chúng ta cũng có thể đưa ra một lập luận thuyết phục tại sao việc đếm nên bắt đầu từ 0: Theo quy ước nửa mở cho các phạm vi mà chúng ta vừa thiết lập, nếu cho một N phạm vi phần tử (chẳng hạn như các thành viên của một mảng liệt kê), thì 0 là "bắt đầu" tự nhiên, vì vậy bạn có thể viết phạm vi đó là [0, N) mà không có bất kỳ sự bù đắp hoặc hiệu chỉnh khó xử nào.

Tóm lại: chúng tôi không thấy số trong thuật toán dựa trên phạm vi 1 Thực tế là kết quả và động lực trực tiếp của thỏa thuận [bắt đầu, kết thúc).

Giới thiệu về c++ - Tại sao phạm vi lặp tiêu chuẩn là [bắt đầu, kết thúc) thay vì [bắt đầu, kết thúc]? , 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/9963401/

28 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