Tiện ích có chức năng tĩnh trong tệp là gì?
Bạn có thể sử dụng các chức năng này để cung cấp logic triển khai được chia sẻ cho các chức năng khác trong cùng một tệp. Các hàm trợ giúp khác nhau cụ thể cho một tệp là các ứng cử viên tốt được khai báo là tệp tĩnh.
Chúng khác với chức năng toàn cục trong tệp như thế nào?
Chúng ẩn với trình liên kết, cho phép các đơn vị biên dịch khác định nghĩa các hàm có cùng chữ ký. Việc sử dụng các không gian tên làm giảm bớt vấn đề này ở mức độ lớn, nhưng các hàm-static
trước các không gian tên, bởi vì chúng là một tính năng được kế thừa từ ngôn ngữ lập trình C.
Mọi thứ trở nên rõ ràng với tôi khi tôi đọc rằng các chức năng toàn cầu được mặc định bên ngoài, đó là "void fun() {}" giống với "extern void fun() {}" ... vẫn còn, nếu bạn không đặt chúng vào một tiêu đề, chúng chỉ có thể được sử dụng trong tệp triển khai mà chúng được định nghĩa (bên dưới điểm mà chúng được định nghĩa). –
@Simon Knapp chúng có thể được sử dụng trong các đơn vị chuyển đổi khác nhau bằng cách sử dụng một mẫu thử nghiệm. –