Yêu cầu mọi thông tin sao chép từ blog này phải được ghi rõ đầy đủ: Thông tin được sao chép từ "http://www.dangngochoangthanh.blogspot.com".

Cool wallpaper http://www.fancymessage.com

EMOJI KEYBOARD PRO http://emojiselector.com

THƯ VIỆN HÌNH ĐỘNG FLASH ANIMATION: http://flashanimationlibrary.blogspot.ru/

Hệ thống học trực tuyến đang được phát triển và sẽ đưa vào sử dụng vào cuối năm nay. Hãy xem qua một số demo của Học Trực Tuyến.


HỌC TRỰC TUYẾN ĐÃ CUNG CẤP PHIÊN BẢN TRUY CẬP QUA MOBILE http://dangngochoangthanh.blogspot.com/?m=1

XEM KÊNH HỌC TRỰC TUYẾN TRÊN YOUTUBE



Search on This Blog

Saturday, September 11, 2010

Toán tử delete và delete[]

Nếu khi biến trỏ không cần dùng đến nữa, chúng ta có thể xóa bỏ các ô nhớ của nó để giải phóng bộ nhớ động. Quá trình này được thực thi bởi toán tử delete.

delete num; delete[] nums;
Cách viết thứ nhất dùng để giải phóng con trỏ đơn tầng. Cách thứ hai dùng cho con trỏ đa tầng (hai tầng trở lên).
Toán tử delete chỉ có tác dụng với con trỏ được khởi tạo bởi toán tử new hoặc con trỏ null.

Chương trình Kết quả
#include  #include 
using namespace std;
int main()
{
double *ptr[ 5];
for ( int i = 0; i < 5; i++ )
{
ptr[ i ] = new (nothrow) double[ 50000000 ];

if (ptr[i]!=0)
cout << ”Allocation is ok”;
else
cout<<”Allocation fail”;
}
delete[] ptr;
return 0;
}
Allocation is ok Allocation is ok
Allocation is ok
Allocation is ok
Allocation fail
Nếu hệ thống của bạn không cho ra dòng “Allocation fail”, bạn có thể tăng thêm giá trị trong mảng *ptr.
Bạn lưu ý, trong ANSI-C, hàm malloc, calloc, realloc và free được dùng thay cho new và delete và hiển nhiên chúng cũng hoạt động trên C++. Chúng ta không thảo luận chi tiết về hàm này, vì theo xu hướng của lập trình C++ hiện đại, người ta sử dụng hai toán tử mà ta thảo luận ở trên.

No comments:

Post a Comment