30/09/2018, 22:02
Hàm cấp phát bộ nhớ trong c++
cho hỏi trong c thì ta cấp phát bộ nhớ cho 1 node như vầy:
NODE GetNode()
{
NODE p;
p=(NODE)malloc(sizeof(Node));
return p;
}
====>>>> cái đó giờ viết trong c++ thì sao ạ ??
Bài liên quan
Bạn tìm hiểu toán tử
new
nhé.Code này có vấn đề. Code này có chạy được trong C không?
Node khai báo thế nào?
Trong C++ dùng
new
Thêm: http://www.cplusplus.com/reference/new/operator%20new/
dạ thanks anh . cấp phát trong dslk á anh.
Code này trong C là không đúng rồi. Node p kia đâu phải con trỏ mà nó cấp phát gì hả bạn. Trong C++ thì sử dụng new là đc.
@ltd code chạy bình thường mà, có thể như vầy chẳng hạn
Mặc dù nhìn hơi tào lao : v
Cưỡng ép là không hạnh phúc bác ơi =))
Vì
sizeof(NODE)
tương đương vớisizeof(a_pointer)
và luôn luôn bằng4
hoặc8
tùy thuộc vào chương trình compile ở chế độ x86 hay x64.Ví dụ như code này luôn trả ra 4
Ideone.com
Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.
Đúng rồi, tại làm cho nó build được thôi. Nhưng muốn hợp lý chỗ size of pointer của bác thì tinh chỉnh lại chút