this
কোনও নির্দিষ্ট অবজেক্টের জীবদ্দশায় পয়েন্টারের মানটি কি স্থির থাকার গ্যারান্টিযুক্ত?
হ্যাঁ ।
ব্যবহারকারী অ্যাকনকাগুয়া যেমন এটি রেখেছেন : this
পয়েন্টারের মান সর্বদা সেই বস্তুর ঠিকানার মান যেখানে ফাংশনটি 1 এ ডাকা হত । সুতরাং প্রশ্নটি এর সাথে সমান:
কোনও বস্তু কি সময়ের সাথে সাথে তার স্মৃতির ঠিকানা পরিবর্তন করতে পারে?
এটি সম্ভব নয়, lifetime
2 এর সংজ্ঞা দিয়ে । কোনও অবজেক্টের জীবনকাল শুরু হয় যখন তার সঞ্চয়স্থান পাওয়া যায় বা তার পরে প্রকাশিত হয় তার আগেই শেষ হয় ends
1) [class.this]/1
একটি অ-স্ট্যাটিক (দেহের [class.mfct]
) সদস্য ফাংশন, শব্দ this
একটি হল prvalue যার মানকে বস্তুর যার জন্য ফাংশন বলা হয় একটি পয়েন্টার।
2) [basic.life]/1
(জোর আমার)
কোনও অবজেক্ট বা রেফারেন্সের জীবনকাল হ'ল অবজেক্ট বা রেফারেন্সের একটি রানটাইম সম্পত্তি। কোনও ভেরিয়েবলের শূন্য সূচনা হয় বলে যদি এটি ডিফল্ট-আরম্ভ হয় এবং এটি শ্রেণীর ধরণের বা একটি (সম্ভবত বহুমাত্রিক) অ্যারের হয় তবে সেই শ্রেণীর ধরণের একটি তুচ্ছ ডিফল্ট কনস্ট্রাক্টর থাকে।
টাইপের কোনও অবজেক্টের জীবনকাল T
শুরু হয় যখন :
- প্রকারের জন্য
T
উপযুক্ত প্রান্তিককরণ এবং আকার সহ স্টোরেজ পাওয়া যায় এবং
- এর সূচনা (যদি থাকে) সম্পূর্ণ (শূন্য প্রারম্ভিককরণ সহ) (
[dcl.init]
) সম্পূর্ণ হয় তবে বস্তুটি কোনও ইউনিয়নের সদস্য বা সাব-সাবজেক্ট হয়ে থাকলে তার আজীবন কেবল তখনই শুরু হয় যদি সেই ইউনিয়নের সদস্য ইউনিয়নের ( [dcl.init.aggr]
, [class.base.init]
) আদ্যক্ষর সদস্য হয় বা হিসাবে বর্ণিত [class.union]
।
o
টাইপের কোনও অবজেক্টের জীবনকাল T
শেষ হয় যখন :
- যদি
T
কোনও শ্রেণিহীন প্রকার হয় তবে অবজেক্টটি ধ্বংস হয়ে যায়, বা
- যদি
T
এটি কোনও শ্রেণীর ধরণের হয় তবে ধ্বংসকারী কল শুরু হয়, বা or
- অবজেক্টটি যে স্টোরেজটি দখল করে সেটিকে মুক্তি দেওয়া হয় , বা এমন কোনও বস্তুর দ্বারা পুনরায় ব্যবহার করা হয় যা
o
( [intro.object]
) এর মধ্যে বাসা বাঁধে না ।
this
পয়েন্টারের মান হ'ল বস্তুটির ঠিকানার মান যেখানে ফাংশনটি বলা হয়েছিল। সুতরাং প্রশ্নটির সাথে সমান 'কোনও বস্তু কি সময়ের সাথে সাথে তার স্মৃতির ঠিকানা পরিবর্তন করতে পারে?'