Computer >> Máy Tính >  >> Lập trình >> C ++

Tại sao các lập trình viên C ++ nên giảm thiểu việc sử dụng 'mới'?


new được sử dụng để cấp phát bộ nhớ động. Bộ nhớ được cấp phát trong trường hợp này sẽ nằm trên heap. Có một số chi phí liên quan đến kiểu cấp phát bộ nhớ này cùng với việc lập trình viên phải thực hiện việc quản lý và dọn dẹp bộ nhớ thủ công. Loại phân bổ này phải được sử dụng khi -

  • Bạn không biết mình cần bao nhiêu bộ nhớ tại thời điểm biên dịch.
  • Bạn muốn cấp phát bộ nhớ sẽ vẫn tồn tại sau khi rời khỏi khối hiện tại.

Ngoài những điều này, có rất ít trường hợp yêu cầu cấp phát bộ nhớ động. Điều này là do, trong C ++, có khái niệm về hàm hủy. Hàm này được gọi khi thời gian tồn tại của một đối tượng / tài nguyên kết thúc. Điều này có thể được sử dụng để giải phóng bộ nhớ. Vì vậy, khi bạn tạo một đối tượng có các đối tượng của riêng nó và đối tượng chính vượt ra khỏi phạm vi, nó cũng giải phóng bộ nhớ của các đối tượng con của nó.

Các biến này được gọi là biến tự động và kiểu lưu trữ tự động sử dụng bộ nhớ này. Bạn nên sử dụng nó vì nó nhanh hơn để nhập, nhanh hơn khi chạy và ít bị rò rỉ bộ nhớ / tài nguyên hơn.