আমি এই প্রশ্নের উত্তরগুলি সি ++ প্রফিট এবং কনস পড়ছিলাম এবং মন্তব্যগুলি পড়ার সময় এই সন্দেহ পেয়েছি got
প্রোগ্রামাররা প্রায়শই এটি বিভ্রান্ত করে যে "এটি" একটি পয়েন্টার তবে একটি রেফারেন্স নয়। আরেকটি বিভ্রান্তি হ'ল কেন "হ্যালো" স্ট্যান্ড স্ট্রিং টাইপ নয় তবে একটি চর কনস্ট * (পয়েন্টার) এর মূল্যায়ন করে (বিন্যাসে অ্যারে পরে পয়েন্টার রূপান্তর) - জোহানেস স্কাউব - lit 22 ডিসেম্বর '08 এ 1:56
এটি কেবলমাত্র এটি দেখায় যে এটি অন্যান্য (পরবর্তী) ভাষার মতো কনভেনশন ব্যবহার করে না। - লে ডরফায়ার 22 ডিসেম্বর '08 এ 3:35 এ
যদিও আমি "এই" জিনিসটিকে একটি অতি তুচ্ছ বিষয় বলব। ওফস, আমার অপরিবর্তিত আচরণের উদাহরণগুলিতে কয়েকটি ত্রুটি ধরা দেওয়ার জন্য ধন্যবাদ। :) যদিও আমি বুঝতে পারি না আকারের কোনও তথ্যটি প্রথমে কোনও কিছুর সাথে কি করতে পারে। একটি পয়েন্টার কেবল বরাদ্দ মেমরির বাইরে নির্দেশ করার অনুমতি নেই - জাল্ফ 22 ডিসেম্বর '08 এ 4:18
এটি কি ধ্রুবক পয়েন্টার? - Yesraaj 22 ডিসেম্বর '08 এ 6:35 এ
পদ্ধতিটি যদি কনট ইন্ট গেটফু () কনস্ট হয় তবে এটি স্থির থাকতে পারে; <- getFoo এর সুযোগে "এটি" ধ্রুবক এবং তাই কেবল পাঠযোগ্য। এটি বাগগুলি প্রতিরোধ করে এবং কলারের কাছে এমন কিছু গ্যারান্টি সরবরাহ করে যা বস্তুটি পরিবর্তন হবে না। - ডগ টি। ডিসেম্বর 22 '08 এ 16:42 এ
আপনি "এটি" পুনরায় নিয়োগ করতে পারবেন না। যেমন আপনি "এটি = & অন্যান্য;" করতে পারবেন না, কারণ এটি একটি মূল্য r তবে এটি টাইপ টি * এর, টাইপ টি কনস্টের নয়। অর্থাত্ এটি একটি অ-ধ্রুবক পয়েন্টার। আপনি যদি কোনও কনস্টেন্ট পদ্ধতিতে থাকেন তবে এটি কনস্টের পয়েন্টার। টি কনস্ট্যান্ট তবে পয়েন্টারটি নিজেই ননকনস্ট - জোহানেস স্কাউব - লিটব 22 ডিসেম্বর '08 এ 17:53 এ
"এই "টিকে এই জাতীয়ভাবে ভাবুন: # এটি (এটি_ + 0) সংজ্ঞায়িত করুন যেখানে সংকলক বস্তুটির পয়েন্টার হিসাবে" এটি_ "তৈরি করে এবং" এটি "একটি কীওয়ার্ড তৈরি করে। আপনি "এটি" বরাদ্দ করতে পারবেন না কারণ (এটি_ + 0) একটি মূল্য। অবশ্যই এটি এটি নয় (এটির মতো কোনও ম্যাক্রো নেই) তবে এটি এটি বুঝতে সহায়তা করতে পারে - জোহানেস স্কাউব - lit 22 ডিসেম্বর '08 এ 17:55
আমার প্রশ্ন, কেন this
পয়েন্টারটি একটি রেফারেন্স নয়? এটিকে পয়েন্টার বানানোর কোনও বিশেষ কারণ?
আরও কিছু যুক্তি কেন this
রেফারেন্স হওয়া অর্থপূর্ণ হবে:
Item 1
থেকে বিবেচনা করুনMore Effective C++
: রেফারেন্সগুলি ব্যবহার করুন যখন এটির গ্যারান্টি দেওয়া হয় যে আমাদের কাছে একটি বৈধ অবজেক্ট আছে যেমন একটি নল নয় (আমার ব্যাখ্যা)।- তদুপরি, উল্লেখগুলি পয়েন্টারগুলির চেয়ে নিরাপদ হিসাবে বিবেচিত হয় (কারণ আমরা কোনও বিপথগামী পয়েন্টারের সাহায্যে স্মৃতিটিকে স্ক্রু করতে পারি না)।
- তৃতীয়ত, রেফারেন্সগুলি অ্যাক্সেস করার সিনট্যাক্স (
.
)->
বা পয়েন্টার অ্যাক্সেসের চেয়ে কিছুটা সুন্দর এবং খাটো(*)
।
_AFXWIN_INLINE HWND CWnd::GetSafeHwnd() const { return this == NULL ? NULL : m_hWnd; }
this
সবসময় মূল্যায়নtrue
?