คำถามติดแท็ก memory-address

25
ตัวชี้ C คืออะไรถ้าไม่ใช่ที่อยู่หน่วยความจำ
ในแหล่งข้อมูลที่น่าเชื่อถือเกี่ยวกับ C ข้อมูลต่อไปนี้จะได้รับหลังจากพูดคุยกับ&ผู้ดำเนินการ: ... มันค่อนข้างโชคร้ายที่คำศัพท์[ที่อยู่ของ]ยังคงอยู่เพราะมันทำให้คนที่ไม่รู้ว่ากำลังพูดถึงเรื่องอะไรอยู่และทำให้คนที่หลงทางเข้าใจผิด: การคิดถึงพอยน์เตอร์ราวกับว่าพวกเขามักจะนำไปสู่ความเศร้าโศก ... . วัสดุอื่น ๆ ที่ฉันได้อ่าน (จากแหล่งข้อมูลที่น่าเชื่อถือเท่า ๆ กันฉันจะบอกว่า) ได้เรียกตัวชี้และตัว&ดำเนินการให้ที่อยู่หน่วยความจำอย่างไม่สะทกสะท้านเสมอ ฉันชอบที่จะค้นหาความเป็นจริงของเรื่องนี้ต่อไป แต่มันก็เป็นเรื่องยากเมื่อแหล่งข้อมูลที่มีชื่อเสียงไม่เห็นด้วย ตอนนี้ผมกำลังสับสนเล็กน้อย - สิ่งที่ว่าเป็นตัวชี้แล้วหากไม่ได้อยู่หน่วยความจำ? PS ผู้เขียนกล่าวในภายหลังว่า: ... ฉันจะใช้คำว่า 'ที่อยู่' ต่อไปเนื่องจากการคิดค้นคำ [คำศัพท์] ที่ต่างออกไปจะยิ่งแย่กว่าเดิม

5
ตัวระบุรูปแบบที่ถูกต้องเพื่อพิมพ์ตัวชี้หรือที่อยู่?
ฉันควรใช้ตัวระบุรูปแบบใดเพื่อพิมพ์ที่อยู่ของตัวแปร ฉันสับสนระหว่างล็อตด้านล่าง % u - จำนวนเต็มไม่ได้ลงนาม % x - ค่าเลขฐานสิบหก % p - ตัวชี้โมฆะ รูปแบบใดที่เหมาะสมที่สุดในการพิมพ์ที่อยู่

5
ฉันจะรับที่อยู่ของวัตถุได้อย่างน่าเชื่อถือเมื่อโอเปอเรเตอร์ & มากเกินไปได้อย่างไร
พิจารณาโปรแกรมต่อไปนี้: struct ghost { // ghosts like to pretend that they don't exist ghost* operator&() const volatile { return 0; } }; int main() { ghost clyde; ghost* clydes_address = &clyde; // darn; that's not clyde's address :'( } ฉันจะได้รับclydeที่อยู่ของได้อย่างไร ฉันกำลังมองหาทางออกที่จะทำงานได้ดีกับวัตถุทุกประเภท โซลูชัน C ++ 03 ก็ดี แต่ฉันก็สนใจ C ++ 11 …

9
การเข้าถึงที่อยู่หน่วยความจำวัตถุ
เมื่อคุณเรียกใช้object.__repr__()เมธอดใน Python คุณจะได้สิ่งนี้กลับมา <__main__.Test object at 0x2aba1c0cf890> มีวิธีใดบ้างที่จะเก็บที่อยู่หน่วยความจำไว้หากคุณใช้งานมากเกินไป__repr__()โทรไปยังsuper(Class, obj).__repr__()หมายเลขอื่นแล้วโทรออกหรือไม่


5
ตัวดำเนินการที่อยู่คู่ C ++? (&&)
ฉันกำลังอ่านซอร์สโค้ด STL และฉันไม่รู้ว่า&&ตัวดำเนินการที่อยู่ควรจะทำอะไร นี่คือตัวอย่างโค้ดจากstl_vector.h: vector& operator=(vector&& __x) // <-- Note double ampersands here { // NB: DR 675. this->clear(); this->swap(__x); return *this; } "Address of Address" มีความหมายหรือไม่? เหตุใดจึงมีตัวดำเนินการที่อยู่สองตัวแทนที่จะเป็นเพียงตัวดำเนินการเดียว

8
ที่อยู่หน่วยความจำของตัวแปรใน Java
โปรดดูภาพด้านล่าง เมื่อเราสร้างวัตถุใน java ด้วยnewคำหลักเราจะได้รับที่อยู่หน่วยความจำจากระบบปฏิบัติการ เมื่อเราเขียนout.println(objName)เราจะเห็นสตริง "พิเศษ" เป็นผลลัพธ์ คำถามของฉันคือ: ผลลัพธ์นี้คืออะไร หากเป็นที่อยู่หน่วยความจำที่ระบบปฏิบัติการมอบให้เรา: a) ฉันจะแปลงสตริงนี้เป็นไบนารีได้อย่างไร b) ฉันจะรับที่อยู่ตัวแปรจำนวนเต็มหนึ่งตัวได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.