C ++- এর সদস্য ফাংশন ঘোষণায় অস্থির কীওয়ার্ডের অবস্থান

একটি পদ্ধতি ঘোষণার 'অস্থায়ী' কীওয়ার্ডের অবস্থানটি কি তার কার্যকারিতা প্রভাবিত করে?

যেমন, দুইটি কোডের মধ্যে কোন পার্থক্য আছে?

উ:

class Test
{
public:
    volatile void testMe() 
    {
    }
};

বি

class Test
{
public:
    void testMe() volatile 
    {
    }
};

এবং একই যায় যখন সদস্য ফাংশন একটি রিটার্ন মান আছে। ধন্যবাদ!

0
যোগ
মতামত: 1

2 উত্তর

const তে প্রযোজ্য একই নিয়মগুলি উল্লম্ব তে প্রয়োগ করা হয়।

অকার্যকর (পরিবর্তে নয়) ফিরে আসার সময় অস্থির </কোড> প্রথম স্নিপেটে অর্থহীন হয়।

দ্বিতীয় স্নিপেটটি পুরো কোডটিকে অস্থির হিসাবে চিহ্নিত করে।

উদাহরণস্বরূপ, আপনার যদি:

volatile Test m;
m.testMe();

শুধুমাত্র কম্পাইল হয় testme উল্লম্ব হিসাবে চিহ্নিত করা হয় (আপনার দ্বিতীয় কোডের মত)।

0
যোগ

এটি সংক্ষক </কোড> কোয়ালিফাইয়ের জন্য একই।

প্রথম উদাহরণে, অস্থির </কোড> ফাংশনের রিটার্ন মান প্রযোজ্য। এই ক্ষেত্রে অকার্যকর, তাই এটি অনেক অর্থে না করে তোলে। প্রকৃতপক্ষে, এটি উজ্জ্বল মূল্য * দ্বারা ফেরত পাঠাতে খুব বেশি বোঝা যায় না। একটি উদ্বায়ী রিটার্ন টাইপ শুধুমাত্র একটি রেফারেন্স জন্য জ্ঞান হবে:

volatile int& foo() { ... }
volatile int& i = foo();//OK
int j = foo();//OK, use the volatile reference to construct a non volatile int
int& j = foo();//Error!

দ্বিতীয় ক্ষেত্রে, এর মানে হল যে পদ্ধতিটি অস্থির </কোড>, তাই এটি (অ-কনস্ট) অ-ভলটাইল এবং বর্গক্ষেত্র টেস্টের অস্থির উদাহরণে বলা যেতে পারে। </কোড>। উজ্জ্বল কোয়ালিফাইয়ার ছাড়া একটি উল্লম্ব উদাহরণে বলা যাবে না।

Test test0;
test0.testMe();//OK
volatile Test test1;
test1.testMe();//OK
test1.someNonVolatileMethod();//Error.

*Unless that value is a pointer

0
যোগ
এটি একটি ভাসমান শ্রেণীর শ্রেণীর প্রকারের মূল্য ফেরত দিতেও বোঝা যায় যাতে কেবল অস্থায়ী সদস্যের ফাংশন অস্থায়ীভাবে বলা যায়। আমি বলছি না যে আমি এই দেখেছি, কিন্তু এটি যুক্তিসঙ্গত মনে হয়।
যোগ লেখক edA-qa mort-ora-y, উৎস
@ এড এ-কিমর্ট-অর-ই-এর জন্য আমি অবশ্যই একটিকে নিয়ে গভীরভাবে চিন্তা করি। আমি মনে করি আপনি একটি কোড চিহ্নিত করেছেন যেখানে এটি const থেকে ভিন্ন, যেখানে একটি সংক্ষাকৃত </কোড> ফেরত মান ভঙ্গি শব্দবিজ্ঞানগুলিকে পরিবর্তন করবে।
যোগ লেখক juanchopanza, উৎস