tôi chỉ là bây giờ biết về lá cờ __unused có thể được sử dụng khi biên dịch với GCC và tôi càng tìm hiểu về nó, những câu hỏi tôi càng có ...__unused Cờ Behavior/Cách sử dụng (GCC với Objective C)
Tại sao điều này biên dịch mà không có cảnh báo/lỗi? Nó có vẻ lạ mà tôi đặc biệt nói với trình biên dịch tôi sẽ không sử dụng một biến, sau đó khi tôi sử dụng nó, mọi thứ diễn ra như bình thường.
- (void)viewDidLoad
{
[super viewDidLoad];
[self foo:0];
}
- (void)foo:(NSInteger)__unused myInt
{
myInt++;
NSLog(@"myInt: %d", myInt); // Logs '1'
}
Ngoài ra, sự khác biệt giữa hai chữ ký phương pháp sau đây là gì?
- (void)foo:(NSInteger)__unused myInt;
- (void)foo:(NSInteger)myInt __unused;
Chúng tương đương và bạn cũng có thể viết '- (void) foo: (__ không sử dụng NSInteger) myInt;' và '- (void) foo: (NSInteger __unused) myInt;'. –