Tôi biết rằng phân bổ là một phương thức lớp tạo đối tượng của lớp và trỏ con trỏ "isa" của nó vào lớp và đó là cách các thư được ánh xạ khi chạy.Phân bổ công việc như thế nào trong Mục tiêu C?
và tôi có một số ý tưởng về allocWithZone và vùng.
Bất cứ ai có thể cho tôi biết hoặc chỉ cho tôi liên kết tốt đẹp giải thích: -
Cách trỏ con trỏ đến đúng lớp?
Dung lượng bộ nhớ được phân bổ là bao nhiêu?
Bộ nhớ cho các thành viên được kế thừa từ lớp cha được tạo như thế nào?
Nếu id là typedef cho objc_object *, con trỏ isa của nó trỏ đến, thì nó giữ anyobject vì con trỏ isa sẽ đưa chúng ta đến bảng công cụ có bộ chọn cho phương thức nhưng chúng có bất cứ thứ gì cho chúng ta biết những thành viên dữ liệu nào được cho là ở đó?
'id' là một loại đại diện cho một con trỏ, không phải là một đối tượng, vì vậy nó không có một' isa 'của riêng nó. Khi bạn khai báo một biến kiểu 'id', nó chỉ có nghĩa là bạn có thể gán một con trỏ cho bất kỳ kiểu đối tượng nào và trình biên dịch sẽ không phàn nàn về nó. Bản thân đối tượng có một thành viên 'isa', và theo định nghĩa, nó trỏ tới lớp mà đối tượng được đề cập là một cá thể. – Caleb