সংক্ষিপ্ত-সার্কিট লজিকাল অপারেটরদের বাধ্যতামূলক করা হয়? এবং মূল্যায়ন আদেশ?


140

এএনএসআই স্ট্যান্ডার্ড লজিকাল অপারেটরগুলিকে সি বা সি ++ এর মধ্যেও সংক্ষিপ্ত-প্রচারিত করার আদেশ দেয়?

আমি কে ও আর বইটি স্মরণ করিয়ে দেওয়ার জন্য বিভ্রান্ত হয়েছি যে এই কোডগুলি সংক্ষিপ্ত প্রচারের উপর নির্ভর করে আপনার কোড নির্ভর করবে না, কারণ তারা নাও পারে। কেউ দয়া করে নির্দেশ করতে পারেন যেখানে স্ট্যান্ডার্ডে বলা হয়েছে যে লজিক অপসটি সর্বদা সংক্ষিপ্ত প্রচারিত হয়? আমি বেশিরভাগ সি ++ তে আগ্রহী, সি এর জন্য একটি উত্তরও দুর্দান্ত।

আমি পড়ার কথাও মনে করি (কোথায় তা মনে করতে পারি না) যে মূল্যায়ন আদেশটি কঠোরভাবে সংজ্ঞায়িত করা হয়নি, সুতরাং আপনার কোডটি নির্ভর করে বা ধরে নেওয়া উচিত নয় যে কোনও অভিব্যক্তির মধ্যে ফাংশনগুলি একটি নির্দিষ্ট ক্রমে কার্যকর করা হবে: একটি বিবৃতি শেষে সমস্ত রেফারেন্সড ফাংশন ডাকা হবে, তবে সংকলকটির সর্বাধিক দক্ষ অর্ডার বাছাই করার স্বাধীনতা রয়েছে।

মানটি কি এই অভিব্যক্তির মূল্যায়ন আদেশ নির্দেশ করে?

if( functionA() && functionB() && functionC() ) cout<<"Hello world";

12
যত্নবান: এটি পিওডি ধরণের ক্ষেত্রে সত্য true তবে আপনি যদি অপারেটরটিকে ওভারলোড করেন && বা অপারেটর || একটি নির্দিষ্ট শ্রেণীর জন্য এগুলি আমি শর্টকাটের পুনরাবৃত্তি নয়। এজন্য আপনাকে পরামর্শ দেওয়া হয় যে আপনি নিজের ক্লাসের জন্য এই অপারেটরগুলি সংজ্ঞায়িত করবেন না।
মার্টিন ইয়র্ক

আমি কিছুক্ষণ আগে এই অপারেটরদের নতুন সংজ্ঞা দিয়েছি, যখন আমি এমন একটি ক্লাস তৈরি করেছি যা কিছু বুলিয়ান বীজগণিত অপারেশন করবে। সম্ভবত একটি সতর্কতা মন্তব্য থাকা উচিত "এটি শর্ট সার্কিট এবং বাম-ডান মূল্যায়নকে ধ্বংস করে!" যদি আমি এই ভুলে যাই। এছাড়াও ওভারলোড * / + এবং তাদের প্রতিশব্দ তৈরি করেছে :-)
জো পাইনেদা

যদি একটি ইফ-ব্লকে ফাংশন কল করা ভাল প্রোগ্রামিং অনুশীলন নয়। সর্বদা একটি পরিবর্তনশীল ঘোষিত থাকে যা পদ্ধতির রিটার্ন মান রাখে এবং যদি এটি ব্লকে ব্যবহার করে।
এসআর চৈতন্য

6
@ এসআরচৈতন্য যে এটি সঠিক নয়। আপনি যথেচ্ছভাবে দুর্বল অনুশীলন হিসাবে বর্ণনা করেন তা সর্বদা করা হয়, বিশেষত এমন ফাংশনগুলির সাথে যা এখানে বুলিয়ানগুলি ফেরত দেয়।
লার্নের মারকুইস

উত্তর:


154

হ্যাঁ, অপারেটরগুলির জন্য ||এবং &&সি এবং সি ++ উভয় মানের ক্ষেত্রেই শর্ট সার্কিট এবং মূল্যায়ন আদেশের প্রয়োজন ।

সি ++ স্ট্যান্ডার্ড বলছে (সি স্ট্যান্ডার্ডের সমতুল্য ধারা থাকতে হবে):

1.9.18

নিম্নলিখিত এক্সপ্রেশন মূল্যায়নে

a && b
a || b
a ? b : c
a , b

এই অভিব্যক্তিগুলিতে অপারেটরগুলির অন্তর্নির্মিত অর্থ ব্যবহার করে , প্রথম প্রকাশের (12) মূল্যায়নের পরে একটি ক্রম বিন্দু রয়েছে

C ++ একটি অতিরিক্ত ফাঁদ থাকে: শর্ট-সার্কিট করে না প্রকারের জমিদার অপারেটার ক্ষেত্রে প্রযোজ্য ||এবং &&

পাদটীকা 12: এই অনুচ্ছেদে নির্দেশিত অপারেটরগুলি হ'ল বিল্ট-ইন অপারেটরগুলি, যেমন ক্লজ 5 তে বর্ণিত হয়েছে, যখন এই অপারেটরগুলির মধ্যে কোনও একটি বৈধ প্রসঙ্গে ওভারলোড হয় (অনুচ্ছেদ 13), সুতরাং এইভাবে একটি ব্যবহারকারী-সংজ্ঞায়িত অপারেটরের কার্যকারিতা নির্ধারণ করে, অভিব্যক্তিটি মনোনীত করে একটি ফাংশন প্রার্থনা, এবং অপারেশনগুলি তাদের মধ্যে একটি অন্তর্নিহিত ক্রম বিন্দু ছাড়াই একটি যুক্তি তালিকা তৈরি করে।

আপনার খুব নির্দিষ্ট প্রয়োজন না থাকলে সাধারণত এই অপারেটরগুলিকে সি ++ এ ওভারলোড করার পরামর্শ দেওয়া হয় না। আপনি এটি করতে পারেন, তবে এটি অন্যান্য লোকের কোডে প্রত্যাশিত আচরণকে ভঙ্গ করতে পারে, বিশেষত যদি এই অপারেটরগুলি এই অপারেটরদের ওভারলোডিং টাইপের সাথে ইনস্ট্যান্ট টেম্পলেটগুলির মাধ্যমে পরোক্ষভাবে ব্যবহার করা হয়।


3
সংক্ষিপ্তসার্কিটিং ওভারলোড হওয়া লজিক অপ্সের ক্ষেত্রে প্রযোজ্য হবে না জানতেন that's আপনি দয়া করে মান, বা একটি উত্স একটি রেফারেন্স যোগ করতে পারেন? আমি আপনাকে অবিশ্বস্ত করছি না, কেবল এই সম্পর্কে আরও জানতে চাই।
জো পাইনেদা

4
হ্যাঁ, এটা যৌক্তিক। এটি অপারেটর এবং& এর (আ, খ) পক্ষে যুক্তি হিসাবে কাজ করছে। এটি এর বাস্তবায়ন যা বলে যা ঘটেছিল।
জোহানেস স্কাউব -

10
লিটব: অপারেটর && এ (ক, খ) এর মূল্যায়ন না করে কেবল পাস করা সম্ভব নয়। বি এর মূল্যায়ন পূর্বাবস্থায় ফেরানোর কোনও উপায় নেই কারণ সংকলক গ্যারান্টি দিতে পারে না যে পার্শ্ব প্রতিক্রিয়া নেই।
jmucchiello

2
আমি এই খারাপ লাগছে। আমি ভেবেছি, অপারেটরদের && এবং || এর নতুন সংজ্ঞা দেওয়া উচিত এবং তারা এখনও সম্পূর্ণরূপে নির্বিচারবাদী , সংকলক এটি সনাক্ত করতে পারে এবং তাদের মূল্যায়নকে সংক্ষিপ্ত-প্রচারিত রাখবে: সর্বোপরি, আদেশটি অপ্রাসঙ্গিক, এগুলি কোনও পার্শ্ব প্রতিক্রিয়ার গ্যারান্টি দেয় না!
জো পাইনেদা

2
@ জো: তবে অপারেটরের রিটার্নের মান এবং যুক্তিগুলি বুলিয়ান থেকে অন্য কিছুতে পরিবর্তিত হতে পারে। আমি তিনটি মান ("সত্য", "মিথ্যা" এবং "অজানা") সহ "বিশেষ" যুক্তি প্রয়োগ করতাম। রিটার্ন মান হ'ল নির্বিচারবাদী, তবে সংক্ষিপ্ত-সার্কিট আচরণটি উপযুক্ত নয়।
অ্যালেক্স বি

70

শর্ট সার্কিট মূল্যায়ন, এবং মূল্যায়নের ক্রম হ'ল সি এবং সি ++ উভয়েরই একটি বাধ্যতামূলক শব্দার্থক মান।

যদি এটি না হয় তবে এর মতো কোডগুলি কোনও সাধারণ প্রতিমা নয়

   char* pChar = 0;
   // some actions which may or may not set pChar to something
   if ((pChar != 0) && (*pChar != '\0')) {
      // do something useful

   }

বিভাগ .5.৫.১৩ লজিকাল অ্যান্ড অপারেটর সি 99 এর স্পেসিফিকেশন (পিডিএফ লিঙ্ক) বলছে

(4)। বিটওয়াইজ বাইনারি এবং অপারেটরের বিপরীতে, && অপারেটর বাম থেকে ডান মূল্যায়নের গ্যারান্টি দেয়; প্রথম অপারেন্ডের মূল্যায়নের পরে একটি সিকোয়েন্স পয়েন্ট রয়েছে। প্রথম অপারেন্ড যদি 0 এর সমান তুলনা করে তবে দ্বিতীয় অপারেন্ডকে মূল্যায়ন করা হয় না।

একইভাবে, বিভাগ 6.5.14 লজিকাল ওআর অপারেটর বলেছেন

(4) বিটওয়াইসের বিপরীতে | অপারেটর, || অপারেটর বাম থেকে ডান মূল্যায়নের গ্যারান্টি দেয়; প্রথম অপারেন্ডের মূল্যায়নের পরে একটি সিকোয়েন্স পয়েন্ট রয়েছে। প্রথম অপারেন্ড যদি 0 টির সাথে অসম তুলনা করে তবে দ্বিতীয় অপারেন্ডকে মূল্যায়ন করা হয় না।

অনুরূপ শব্দটি সি ++ স্ট্যান্ডার্ডগুলিতে পাওয়া যাবে, এই খসড়া অনুলিপিতে বিভাগ 5.14 চেক করুন । চেকাররা অন্য উত্তরে নোট হিসাবে, আপনি যদি && বা || ওভাররাইড করে থাকেন তবে উভয় অপারেশনকে অবশ্যই এটি নিয়মিত ফাংশন কলে পরিণত হওয়ার কারণে মূল্যায়ন করতে হবে।


আহ, আমি যা খুঁজছিলাম! ঠিক আছে, সুতরাং মূল্যায়ন আদেশ এবং শর্ট সার্কিট উভয়ই এএনএসআই-সি 99 অনুযায়ী বাধ্যতামূলক! আমি সত্যিই এএনএসআই-সি ++ এর সমপরিমাণ রেফারেন্স দেখতে পছন্দ করব, যদিও আমি প্রায় 99% এর মত হতে হবে।
জো পাইনেদা

সি ++ স্ট্যান্ডার্ডগুলির জন্য একটি ভাল ফ্রি লিঙ্ক পাওয়া শক্ত, আমি কিছু গুগলিংয়ের সাথে খুঁজে পেয়েছি এমন একটি খসড়া অনুলিপিটির সাথে লিঙ্ক করেছি।
পল ডিকসন

পিওডি প্রকারের জন্য সত্য। তবে আপনি যদি অপারেটরটিকে ওভারলোড করেন && বা অপারেটর || এগুলি শর্টকাট নয়।
মার্টিন ইয়র্ক

1
হ্যাঁ এটি আকর্ষণীয় যে বুলের জন্য, আপনার কাছে সর্বদা গ্যারান্টিযুক্ত মূল্যায়ন আদেশ এবং শর্ট সার্কিট আচরণ থাকবে। কারণ আপনি দুটি বিল্ট-ইন প্রকারের জন্য অপারেটর ও& ওভারলোড করতে পারবেন না। অপারেশনগুলিতে আলাদা আচরণ করতে আপনার কমপক্ষে একজন ব্যবহারকারীর সংজ্ঞায়িত প্রকারের প্রয়োজন।
জোহানেস স্কাউব - লিটব

আমি আশা করি আমি উভয় চেকার এবং এই উত্তর গ্রহণ করতে পারি could যেহেতু আমি বেশিরভাগ সি +++ তে আগ্রহী তাই আমি অন্যটিকে গ্রহণ করছি, যদিও এটিও দুর্দান্ত, স্বীকার করতে হবে! আপনাকে অনেক ধন্যবাদ!
জো পাইনেদা

19

হ্যাঁ, এটি আদেশ দেয় (মূল্যায়ন আদেশ এবং শর্ট সার্কিট উভয়)। আপনার উদাহরণে যদি সমস্ত ফাংশন সত্য হয়, কলগুলির ক্রমটি ফাংশনএ এর পরে ফাংশনবি এবং তারপরে ফাংশনসি থেকে হয়। এই মত ব্যবহার করা হয়

if(ptr && ptr->value) { 
    ...
}

কমা অপারেটরের জন্য একই:

// calls a, then b and evaluates to the value returned by b
// which is used to initialize c
int c = (a(), b()); 

এক বাম এবং ডান প্রতীক মধ্যে বলছেন &&, ||, ,এবং প্রথম ও দ্বিতীয় / তৃতীয় প্রতীক মধ্যে ?:(শর্তসাপেক্ষ অপারেটর) একটি "ক্রম বিন্দু" হয়। যে কোনও পার্শ্ব প্রতিক্রিয়াগুলি সেই বিন্দুর আগে সম্পূর্ণ মূল্যায়ন করা হয়। সুতরাং, এটি নিরাপদ:

int a = 0;
int b = (a++, a); // b initialized with 1, and a is 1

নোট করুন যে কমা অপারেটর জিনিস আলাদা করতে ব্যবহৃত সিনট্যাক্টিকাল কমা দিয়ে বিভ্রান্ত হবেন না:

// order of calls to a and b is unspecified!
function(a(), b());

সি ++ স্ট্যান্ডার্ড এতে বলে 5.14/1:

&& অপারেটরগুলি বাম থেকে ডান গোষ্ঠীগুলি। অপারেশনগুলি উভয়ই স্পষ্টতই টাইপ বুলে রূপান্তরিত হয় (ধারা 4)। ফলস সত্য যদি উভয় অপারেশন সত্য এবং অন্যথায় মিথ্যা হয়। & এর বিপরীতে, && বাম থেকে ডান মূল্যায়নের গ্যারান্টি দেয়: প্রথম অপারেন্ডটি মিথ্যা হলে দ্বিতীয় অপারেন্ডকে মূল্যায়ন করা হয় না।

এবং ভিতরে 5.15/1 :

দি || অপারেটর গ্রুপগুলি বাম থেকে ডানদিকে। অপারেশনগুলি উভয়কেই স্পষ্টভাবে বিলে রূপান্তরিত করা হয়েছে (ধারা 4)। এটির সত্যিকারের অপারেশনগুলির মধ্যে দুটি যদি সত্য হয় এবং অন্যথায় মিথ্যা হয়। অপছন্দ |, || বাম থেকে ডান মূল্যায়নের গ্যারান্টি দেয়; তদ্ব্যতীত, প্রথম অপারেন্ডটি যদি সত্য হিসাবে মূল্যায়ন করে তবে দ্বিতীয় অপারেন্ডকে মূল্যায়ন করা হয় না।

এটি তাদের পাশের উভয়ের জন্যই বলে:

ফলাফল একটি বুল হয়। টেম্পোরারি ধ্বংস (12.2) ব্যতীত প্রথম প্রকাশের সমস্ত পার্শ্ব প্রতিক্রিয়াগুলি দ্বিতীয় প্রকাশটি মূল্যায়ন করার আগে ঘটে।

এটি ছাড়াও, 1.9/18 বলেছেন

প্রতিটি এক্সপ্রেশন মূল্যায়নে

  • a && b
  • a || b
  • a ? b : C
  • a , b

এই অভিব্যক্তিগুলিতে অপারেটরগুলির অন্তর্নির্মিত অর্থ ব্যবহার করে (5.14, 5.15, 5.16, 5.18), প্রথম প্রকাশের মূল্যায়নের পরে একটি ক্রম বিন্দু রয়েছে।


10

সরাসরি পুরানো কেএন্ডআর থেকে:

সি এটির গ্যারান্টি দেয় &&এবং ||বাম থেকে ডানে মূল্যায়ন করা হয় - আমরা খুব শীঘ্রই এই বিষয়গুলি দেখব।


3
কে ও আর দ্বিতীয় সংস্করণ পি 40 p "&& অথবা || এর সাথে সংযুক্ত এক্সপ্রেশনগুলি বাম থেকে ডানদিকে মূল্যায়ন করা হয় এবং ফলাফলের সত্যতা বা মিথ্যা জানা মাত্রই মূল্যায়ন বন্ধ হয়ে যায় Most বেশিরভাগ সি প্রোগ্রামগুলি এই বৈশিষ্ট্যগুলিতে নির্ভর করে" " আমি আপনার উদ্ধৃত পাঠ্যটি বইয়ের কোথাও পাই না। এটি কি অত্যন্ত অপ্রচলিত 1 ম সংস্করণ থেকে? আপনি এই পাঠ্যটি কোথায় পেয়েছেন তা স্পষ্ট করে বলুন।
লন্ডিন

1
আপনি এই প্রাচীন টিউটোরিয়ালটি উদ্ধৃত করছেন ঠিক আছে । এটি 1974 থেকে এবং অত্যন্ত অপ্রাসঙ্গিক।
লন্ডিন

6

খুব সাবধানতা অবলম্বন করুন।

মৌলিক ধরণের জন্য এগুলি শর্টকাট অপারেটর।

তবে আপনি যদি এই অপারেটরগুলিকে নিজের শ্রেণীর বা গণনার ধরণের জন্য সংজ্ঞায়িত করেন তবে সেগুলি শর্টকাট নয়। এই বিভিন্ন পরিস্থিতিতে তাদের ব্যবহারের এই অর্থগত পার্থক্যের কারণে এটি প্রস্তাবিত হয় যে আপনি এই অপারেটরগুলি সংজ্ঞায়িত করবেন না।

জন্য operator &&এবং operator ||মৌলিক ধরনের মূল্যায়ন অর্ডার অধিকার (অন্যথায় সংক্ষিপ্ত কাটা ছেড়ে দেওয়া হয় কঠিন হবে জন্য :-) কিন্তু ওভারলোড অপারেটার যে আপনি সংজ্ঞায়িত জন্য, এই একটি পদ্ধতি সংজ্ঞায়িত করতে মূলত অন্বিত চিনি এবং এইভাবে পরামিতি মূল্যায়ন হয় ক্রম হয় undefined।


1
অপারেটর ওভারলোডিং এর পিওডি হওয়া বা না হওয়া টাইপের কোনও সম্পর্ক নেই। অপারেটর ফাংশনটি সংজ্ঞায়িত করতে, যুক্তিগুলির কমপক্ষে একটিটির একটি শ্রেণি (বা স্ট্রাক্ট বা ইউনিয়ন) বা একটি এনুম, বা এর একটির একটি রেফারেন্স হওয়া দরকার। পিওডি হওয়ার অর্থ হ'ল আপনি এতে মেমকি ব্যবহার করতে পারেন।
ডেরেক লেডবেটার

আর এটাই আমি বলছিলাম। আপনি যদি নিজের ক্লাসের জন্য ওভারলোড করে থাকেন তবে এটি সত্যিই কেবল একটি পদ্ধতি কল। সুতরাং আপনি পরামিতিগুলির মূল্যায়নের ক্রমের উপর নির্ভর করতে পারবেন না। স্পষ্টতই আপনি পিওডি ধরণের জন্য ওভারলোড এবং& করতে পারবেন না।
মার্টিন ইয়র্ক

3
আপনি "POD প্রকার" শব্দটি ভুলভাবে ব্যবহার করছেন। আপনি কোনও স্ট্রাক্ট, শ্রেণি, ইউনিয়ন বা এনাম, পিওডি বা না এর জন্য ওভারলোড করতে পারেন। উভয় পক্ষই সংখ্যার প্রকার বা পয়েন্টার হলে আপনি ওভারলোড করতে পারবেন না।
ডেরেক লেডবেটার

আমি পিওডিকে (চর / ইনট / ফ্লোট ইত্যাদি) হিসাবে ব্যবহার করছিলাম না কোনও আগত পিওডি (যা আপনি যার বিষয়ে কথা বলছেন) এবং সাধারণত আলাদাভাবে বা আরও স্পষ্টভাবে উল্লেখ করা হয় যে এটি কোনও বিল্ট টাইপ নয়।
মার্টিন ইয়র্ক

2
সুতরাং আপনি "মৌলিক প্রকার" বলতে চাইছেন কিন্তু "পিওডি টাইপস" লিখেছেন?
Öö তিবি

0

আপনার প্রশ্নটি সি ++ অপারেটরের অগ্রাধিকার এবং সাহস্যে নেমে আসে । মূলত, একাধিক অপারেটর এবং কোনও বন্ধনীর সাথে অভিব্যক্তিগুলিতে, সংকলক এই নিয়মগুলি অনুসরণ করে এক্সপ্রেশন ট্রি তৈরি করে।

উদাহরণস্বরূপ, যখন আপনার মতো কিছু থাকে A op1 B op2 C, আপনি জিনিসগুলিকে হয় (A op1 B) op2 Cবা হিসাবে গ্রুপ করতে পারেন A op1 (B op2 C)। যদি op1এর চেয়ে বেশি অগ্রাধিকার থাকে তবে op2আপনি প্রথম প্রকাশ পাবেন। অন্যথায়, আপনি দ্বিতীয়টি পাবেন।

Associativity জন্য, আপনি ভালো কিছু আছে A op B op C, আপনি করতে পারে আবার দল হিসেবে thins (A op B) op Cবা A op (B op C)। যদি opসাহসীতা ছেড়ে যায় তবে আমরা প্রথম অভিব্যক্তিটি শেষ করি। যদি এটির সঠিক সাহচর্য থাকে তবে আমরা দ্বিতীয়টি দিয়ে শেষ করি। এটি একই অগ্রাধিকার স্তরে অপারেটরদের জন্যও কাজ করে।

এই বিশেষ ক্ষেত্রে, &&এর চেয়ে বেশি অগ্রাধিকার রয়েছে ||, সুতরাং অভিব্যক্তিটি হিসাবে মূল্যায়ন করা হবে(a != "" && it == seqMap.end()) || isEven

ক্রমটি নিজেই এক্সপ্রেশন-ট্রি ফর্মের উপর "বাম থেকে ডান"। সুতরাং আমরা প্রথমে মূল্যায়ন করব a != "" && it == seqMap.end()। যদি এটি সত্য হয় তবে সম্পূর্ণ অভিব্যক্তিটি সত্য, অন্যথায় আমরা যাই isEven। প্রক্রিয়াটি অবশ্যই অবশ্যই বাম-subexpression ভিতরে পুনরাবৃত্তভাবে পুনরাবৃত্তি করে।


আকর্ষণীয় জোয়ার, তবে অগ্রাধিকার ধারণার শিকড় গাণিতিক স্বরলিপিতে রয়েছে। একই জিনিস ঘটেa*b + c যেখানে *এর চেয়ে বেশি প্রাধান্য রয়েছে +

এমনকি আরও আকর্ষণীয় / অস্পষ্ট, একটি অপ্রত্যাশিত অভিব্যক্তির জন্য A1 op1 A2 op2 ... opn-1 An, যেখানে সমস্ত অপারেটরগুলির একই নজির রয়েছে, আমরা যে বাইনারি অভিব্যক্তি গাছ গঠন করতে পারি তার তথাকথিত কাতালান সংখ্যা দিয়ে দেওয়া হয় । বড় হিসাবে n, এগুলি অত্যন্ত দ্রুত বৃদ্ধি পায়। ঘ


এই সমস্ত সঠিক, তবে এটি অপারেটর অগ্রাধিকার এবং সাহচর্য সম্পর্কে, মূল্যায়ন আদেশ এবং সংক্ষিপ্ত-কার্কুইটিং সম্পর্কে নয়। সেগুলি বিভিন্ন জিনিস।
থমাস প্যাড্রন-ম্যাকার্থি

0

আপনি যদি উইকিপিডিয়াকে বিশ্বাস করেন:

[ &&এবং ||] বিট-বুদ্ধিমান অপারেটর এবং এবং এর থেকে শব্দার্থগতভাবে পৃথক কারণ তারা কখনই বাম দিক থেকে ফলাফল নির্ধারণ করতে পারলে ডান ক্রিয়াকলাপের মূল্যায়ন করবে না

সি (প্রোগ্রামিং ভাষা)


11
উইকি কেন বিশ্বাস করবেন যখন আমাদের একটি মান আছে!
মার্টিন ইয়র্ক

1
আপনি যদি উইকিপিডিয়াকে বিশ্বাস করেন, 'উইকিপিডিয়া নির্ভরযোগ্য সংস্থান নয়'
লার্নের মারকুইস

এটি যতদূর যায় ঠিক তবে এটি অসম্পূর্ণ, যেহেতু সি ++ এর ওভারলোডেড অপারেটরগুলি সংক্ষিপ্ত প্রচারিত নয়।
থমাস প্যাড্রন-ম্যাকার্থি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.