τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Για να εκτυπώσετε τη διεύθυνση του αντικειμένου που δείχνει ο δείκτης και τη διεύθυνση του ίδιου του δείκτη, μπορείτε να χρησιμοποιήσετε %p
μορφή χαρακτήρα για την έξοδο της διεύθυνσης δείκτη.Ο παρακάτω κώδικας δείχνειoriginalString
καιcopiedString
Η διεύθυνση δείκτη και η διεύθυνση που δείχνει στο αντικείμενο:
NSString *originalString = @"Hello, World!";
NSString *copiedString = [originalString copy];
// 打印字符串内容
NSLog(@"Original: %@", originalString); // 输出: Hello, World!
NSLog(@"Copied: %@", copiedString); // 输出: Hello, World!
// 打印指针本身的地址
NSLog(@"Original pointer address: %p", &originalString);
NSLog(@"Copied pointer address: %p", &copiedString);
// 打印指针指向对象的地址
NSLog(@"Original object address: %p", originalString);
NSLog(@"Copied object address: %p", copiedString);
Τα αποτελέσματα εκτέλεσης του Xcode Version 15.1 (15C65) & Simulator (iPhone 15) είναι τα εξής:
// 打印的内容一样
Original: Hello, World!
Copied: Hello, World!
// 指针本地的地址不一样,说明是不同的指针
Original pointer address: 0x7ff7b1a5fa98
Copied pointer address: 0x7ff7b1a5fa90
// 不同的指针指向同一个对象
Original object address: 0x10e4a0070
Copied object address: 0x10e4a0070
Original: Hello, World!
καιCopied: Hello, World!
Εξαγωγή του περιεχομένου συμβολοσειράς.Original pointer address: %p
Δείκτης εξόδουoriginalString
Η ίδια η διεύθυνση στη στοίβα.Copied pointer address: %p
Δείκτης εξόδουcopiedString
Η ίδια η διεύθυνση στη στοίβα.Original object address: %p
παραγωγήoriginalString
Η διεύθυνση στο σωρό του αντικειμένου συμβολοσειράς έδειξε.Copied object address: %p
παραγωγήcopiedString
Η διεύθυνση στο σωρό του αντικειμένου συμβολοσειράς έδειξε.Μπορεί να φανεί ότι λόγω NSString
είναι αμετάβλητο αντικείμενο και εκτελείcopy
Η μέθοδος δεν δημιουργεί νέο αντικείμενο, αλλά επιστρέφει το ίδιο αντικείμενο.ΈτσιoriginalString
καιcopiedString
Δείξτε στην ίδια διεύθυνση μνήμης (η διεύθυνση του αντικειμένου είναι η ίδια), αλλά οι ίδιοι οι δείκτες τους έχουν διαφορετικές διευθύνσεις στη στοίβα.
NSString *originalString = @"Hello, World!";
NSString *copiedString = [originalString mutableCopy];
// 打印字符串内容
NSLog(@"Original: %@", originalString); // 输出: Hello, World!
NSLog(@"Copied: %@", copiedString); // 输出: Hello, World!
// 打印指针本身的地址
NSLog(@"Original pointer address: %p", &originalString);
NSLog(@"Copied pointer address: %p", &copiedString);
// 打印指针指向对象的地址
NSLog(@"Original object address: %p", originalString);
NSLog(@"Copied object address: %p", copiedString);
Τα αποτελέσματα εκτέλεσης του Xcode Version 15.1 (15C65) & Simulator (iPhone 15) είναι τα εξής:
Original: Hello, World!
Copied: Hello, World!
// 不同的指针
Original pointer address: 0x7ff7be102a98
Copied pointer address: 0x7ff7be102a90
// 指向不同的对象
Original object address: 0x101dfd070
Copied object address: 0x600000c80090