Màn hình của các bạn in ra bao nhiêu và giải thích :)

Mình vừa ăn củ hành. Nên có đoạn code vui cho bạn nào chưa biết

int *val = new int[1];
val[0]=3;
delete[] val;
if(val==nullptr) val = new int[1];
val[0]=5;

std::cout<<val[0];

5 Likes

:eyes: Cho chừa cái tật quên trỏ về null sau khi delete.

10 Likes

Có điều lạ là sao những ông thiết kế trình biên dịch lại không xóa nullptr hộ cái nhỉ. Quên cái là ngỏm @@.

3 Likes

Hi Văn Dương.
Cái đó bình thường delete chỉ là không quản lý nữa thôi. Bạn phải gán lại biến. Chưa kể khi khởi tạo mà không gán luôn nó cũng không phải là null nên nói chung là phải gán lại.

5 Likes

Thường thì sau khi delete sẽ gán nullptr. Trình biên dịch nó gán auto giúp có vẻ đỡ nhọc hơn bao nhiêu @@

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?