Lập trình

Cách hoạt động của lệnh New trong ngôn ngữ lập trình C++?

Huy Erick

C/C++ - Lập trình đáng học nhất trong ngành CNTT Ngôn ngữ lập trình C/C++ luôn được đánh giá cao và được yêu thích trong ngành công nghệ thông tin. Với những đóng góp to...

C/C++ - Lập trình đáng học nhất trong ngành CNTT

ngôn ngữ lập trình c /C++ luôn được đánh giá cao và được yêu thích trong ngành công nghệ thông tin. Với những đóng góp to lớn của nó, C/C++ đã trở thành ngôn ngữ đáng học nhất và được sử dụng rộng rãi trên toàn thế giới. Bạn đã thực sự hiểu hết về các lệnh phổ biến trong C++ chưa? Hãy cùng FUNiX tìm hiểu sâu hơn về lệnh New trong C++ qua bài viết dưới đây.

1. Giới thiệu về tính năng New trong C++

New là một toán tử trong C++ được sử dụng để cấp phát bộ nhớ trên vùng heap của ngăn xếp Stack. Khi không đủ bộ nhớ sẵn có, toán tử New sẽ khởi tạo bộ nhớ và trả về địa chỉ của bộ nhớ mới được cấp phát, cùng với việc khởi tạo bộ nhớ cho biến con trỏ. Mỗi khi một object mới được tạo, cần có bộ nhớ để cấp phát cho đối tượng từ vùng heap của ngăn xếp stack và các constructor của class được kích hoạt sau khi bộ nhớ được cấp phát.

2. Các toán tử New hoạt động như thế nào trong C++

Toán tử New là một hàm được sử dụng để cấp phát bộ nhớ và khái niệm của nó nhỏ hơn hàm malloc() trong ngôn ngữ C. Toán tử New được sử dụng để phân bổ không gian lưu trữ cho đối tượng và khởi tạo nó. Khi khởi tạo thành công, nó trả về một con trỏ đến đối tượng được cấp phát. Việc sử dụng toán tử New bao gồm ba bước:

  1. Định vị và dự trữ không gian lưu trữ cho đối tượng được cấp phát.
  2. Khởi tạo đối tượng.
  3. Trả về con trỏ đến đối tượng được cấp phát.

2.1 Phân bổ dung lượng lưu trữ

Nhiệm vụ chính của toán tử New là phân bổ không gian lưu trữ dữ liệu bằng các chức năng phân bổ mặc định. Có ba chức năng phân bổ mặc định, bao gồm throwing allocation, nothrow allocation và placement. Toán tử New cũng có thể xử lý quá tải phân bổ một cách toàn diện hoặc chỉ áp dụng cho một class nhất định.

2.2 Khởi tạo các đối tượng

Toán tử New sử dụng để khởi tạo đối tượng dữ liệu. Nếu khởi tạo thành công, toán tử New sẽ khởi tạo Constructor cho đối tượng. Hàm tạo mặc định có vai trò quan trọng trong toán tử New và được sử dụng để cấp phát và định vị các hàm trong thư viện tiêu chuẩn.

2.3 Sử dụng con trỏ để truy cập đối tượng mới

Toán tử New yêu cầu cấp phát bộ nhớ trên heap. Nếu đủ bộ nhớ, nó sẽ khởi tạo bộ nhớ và trả về địa chỉ của nó cho con trỏ. Toán tử New chỉ nên được sử dụng nếu đối tượng được lưu trữ trong bộ nhớ cho đến khi lệnh Delete được gọi. Nếu không sử dụng toán tử New, đối tượng sẽ tự động bị hủy khi vượt ra khỏi phạm vi cho phép.

Bài viết gốc: Cách hoạt động của lệnh New ngôn ngữ lập trình c' class='hover-show-link replace-link-2056'>trong ngôn ngữ lập trình c ++

Nguyễn Huyền (theo Educba.com)

1