Câu hỏi đơn giản - tôi có cần giải phóng hoặc giải phóng cấu trúc không. Lý do của tôi cho yêu cầu là tôi đang sử dụng một NSInvocation và SEL loại là một cấu trúc. Chỉ muốn biết tôi có cần giải phóng nó không. Cảm ơn.C Cấu trúc mục tiêu và quản lý bộ nhớ
6
A
Trả lời
14
Trong mục tiêu-C và C nói chung, nếu một cái gì đó không phải là một con trỏ đến một nơi khác trong bộ nhớ và toàn bộ điều được phân bổ trên ngăn xếp, bạn sẽ không cần phải giải phóng nó. Nó sẽ được giải phóng ngay khi con trỏ ngăn xếp được điều chỉnh ở cuối hàm.
2
Liên quan đến cấu trúc C và quản lý bộ nhớ, Mục tiêu-C không khác với C: nếu bạn malloc()
, bạn nên free()
nó (tại một số điểm).
4
SEL
phải được coi là một loại đục (đó là char *
trên thời gian chạy 32-bit) và hầu hết sử dụng sẽ là một trường hợp tĩnh (@selector()
) hoặc "tạm thời" biến (NSSelectorFromString()
), không phải trong đó cần giải phóng vì bạn đã không phân bổ nó.
Các vấn đề liên quan
- 1. Quản lý bộ nhớ mục tiêu-C (cấp phát và tự động trả lại)
- 2. Cấu trúc thư mục bộ nhớ cache
- 3. Sẽ thay đổi cấu trúc trong C# ảnh hưởng đến bộ nhớ không được quản lý?
- 4. C# quản lý các chuỗi trong cấu trúc
- 5. Mục tiêu C Class hoặc cấu trúc?
- 6. Triết lý quản lý bộ nhớ trong C++ là gì?
- 7. Quản lý bộ nhớ mục tiêu-C - thực tiễn tốt nhất khi trả lại đối tượng?
- 8. Quản lý bộ nhớ trong Forth
- 9. C++: về quản lý bộ nhớ
- 10. Quản lý bộ nhớ, Heap Corruption và C++
- 11. C - Malloc và memcpy (quản lý bộ nhớ)
- 12. C++, lỗi Seg và quản lý bộ nhớ
- 13. Quản lý bộ nhớ Vala
- 14. Xử lý bộ nhớ với cấu trúc epoll_event
- 15. Quản lý bộ nhớ và thực hiệnSelectorInBackground:
- 16. Android - Quản lý bitmap và bộ nhớ?
- 17. Quản lý bộ nhớ QT4
- 18. quản lý bộ nhớ java
- 19. Quản lý bộ nhớ CFSTR
- 20. cách quản lý bộ nhớ với kết cấu trong opengl?
- 21. Quản lý bộ nhớ WebView
- 22. Quản lý bộ nhớ trong perl
- 23. NSTimer bộ nhớ quản lý
- 24. Quản lý bộ nhớ dll
- 25. quản lý bộ nhớ lua
- 26. Java: Cách ArrayList quản lý bộ nhớ
- 27. Kỹ thuật quản lý bộ nhớ C++/Thực tiễn
- 28. Cấu trúc tệp Java trong bộ nhớ?
- 29. Biểu thức Lambda và Quản lý bộ nhớ
- 30. Tôi có thể đặt bộ chọn mục tiêu-C trong cấu trúc không?
Là một 'char *' là chi tiết triển khai. Việc thực hiện mục tiêu-C có thể chọn thực hiện nội bộ nó với một số nguyên đơn giản hoặc bất kỳ cơ chế nào mà nó thích. –
Đó là lý do tại sao tôi nói đó là một loại mờ đục. Tôi đã sử dụng ‘char *’ làm ví dụ về thời điểm nó không phải là cấu trúc. –