Malloc এবং নতুন মধ্যে পার্থক্য

Anonim

Malloc vs New

এক একটি কম্পিউটার প্রোগ্রামার নিয়োগের সবচেয়ে সাধারণ সাক্ষাত্কারের প্রশ্নে আবেদনকারী / কম্পিউটার প্রোগ্রামারের জন্য হল malloc এবং নতুন মধ্যে পার্থক্য ব্যাখ্যা উভয় malloc এবং নতুন কম্পিউটার ভাষা realm মধ্যে বিদ্যমান এবং প্রায়ই ডায়নামিক মেমরি বরাদ্দ জন্য কম্পিউটার প্রোগ্রামাররা দ্বারা ব্যবহৃত হয়।

দুটি মধ্যে মৌলিক পার্থক্য হল যে malloc C- ভাষা বিদ্যমান এবং নতুন C ++ ভাষা একটি নির্দিষ্ট বৈশিষ্ট্য। Malloc এছাড়াও একটি ফাংশন (যা, প্রোগ্রামারদের জন্য, চালানো কিছু সময় প্রয়োজন) যখন নতুন একটি অপারেটর প্রোগ্রাম (যা মৃত্যুদন্ড সময় কাটা)। এই নতুন অপারেটর থেকে একটি উপকার কারণ বাস্তব সময় প্রোগ্রামিং প্রোগ্রামাররা ব্যবহার করার সবচেয়ে দ্রুত পদ্ধতি নির্বাচন করার প্রয়োজন আছে।

অপারেটর নতুন ফাংশন malloc ভিন্ন ধরনের টাইপ-নিরাপদ।

ফাংশন ম্যালক সি-ল্যাঙ্গুয়েজের লাইব্রেরী ফাংশন। এটি সব মেমরি বরাদ্দ করা হয় এবং এটি একটি পয়েন্টার ফিরে। অন্যদিকে, অপারেটর নতুন একটি ভাষা স্তর গঠন করা হয়, এবং এর কাজ মেমরি বরাদ্দ করে এবং উপযুক্ত কন্সট্রাকটর আহ্বান করে একটি বস্তুটি তাত্পর্যপূর্ণ হয়। অপারেটর নতুন থেকে ফাংশন malloc আরেকটি পার্থক্য হল যে malloc ঘোষণার সময় typecasting প্রয়োজন যখন সাবেক না। এছাড়াও, ফাংশন malloc মেমরিটি মুছে ফেলার জন্য "ফ্রি" শব্দটি ব্যবহার করে, যখন "মুছে ফেলা" ব্যবহৃত হয় অপারেটরতে অনুরূপ উদ্দেশ্যে নতুন।

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

ফাংশন malloc কোন বস্তুর (বস্তুর কন্সট্রাকটর নামক) গঠন করে না কিন্তু অপারেটরটি নতুন করে। নতুন আরেকটি সুযোগ হল যে অপারেটর ওভারলোড করা যায় যখন ফাংশন malloc করতে পারে না। ফাংশন malloc বরাদ্দ করার মোট বাইট সংখ্যা নির্দিষ্ট করার প্রয়োজন হলে অপারেটর নতুন একটি নির্দিষ্ট সংখ্যক বস্তুর বরাদ্দ প্রয়োজন।

realloc ব্যবহার করে ফাংশন malloc ব্যবহার করে মেমরি পুনরায় আকার বা পুনঃনির্ধারণ করা যেতে পারে। যাইহোক, অপারেটর নতুন এই ফাংশন সঞ্চালন করতে পারেন এবং অপারেটর এর প্রধান অসুবিধা এক হিসাবে এটি গণনা। অপারেটর নতুন উপর ফাংশন malloc আরেকটি সুবিধা হল যে malloc দ্রুত মেমরি পরিমাণ প্রসারিত করতে পারেন। এটি এখনও malloc এবং realloc ব্যবহার করা হয়। সি ++ ভাষায় একই অবস্থা করার সময়, প্রোগ্রামারকে অপারেটরকে নতুন মেমরির নতুন অংশ তৈরি করতে হবে। নতুন মেমরি একটি পরিবর্তনীয় আকার আছে এবং মূল বাফার থেকে তথ্য উপর কপি করা হবে।কপিটির পরে মূল বাফার মুছে ফেলা হবে। এটি একটি প্রোগ্রামার জন্য একটি ধীর প্রক্রিয়া হতে পারে।

ফাংশন malloc- এর উপর অপারেটরটি নতুন ব্যবহার করে সঠিক ডাটা টাইপ ফেরত দিয়ে ফাংশনটি বাতিল করে দেয়। ফাংশন ম্যালোকটি ওভারলোড করা যাবে না যা অপারেটরের সাথে তুলনা করা যায় যেখানে ওভারলোডিং সম্ভব। অপারেটর নতুন আরেকটি বৈশিষ্ট্য ফাংশন malloc তুলনায় অপারেটর সঙ্গে ভুল করার সম্ভাবনা কম আছে যে। এই প্রোগ্রামারদের জন্য একটি প্লাস বিবেচিত হয়, বিশেষ করে যদি তারা অনেক কোড লেখা হয় বা একটি কঠোর সময়সূচী একটি কোড কাজ। ফাংশন malloc এবং ফ্রি C ++ এ ব্যবহার করা যেতে পারে, কিন্তু এটি সরাসরি ব্যবহার করা যাবে না। এটি নতুন ব্যবহার করা এবং পরিবর্তে পরিবর্তে পরামর্শ দেওয়া হয়।

সংক্ষিপ্ত বিবরণ:

1 Malloc একটি ফাংশন যখন নতুন একটি অপারেটর।

2। নতুন C ++ ভাষা একটি নির্দিষ্ট বৈশিষ্ট্য যখন malloc C- ভাষা ব্যবহার করা হয়।

3। অপারেটর নতুন "মুছে ফেলা" অনুসরণ করে যখন ফাংশন malloc "বিনামূল্যে" সঙ্গে যায় "

4। ফাংশন malloc সি-ল্যাঙ্গুয়েজের জন্য লাইব্রেরী ফাংশন হয় যখন অপারেটরটি নতুন একটি ভাষা স্তরের C ++ ভাষা থেকে তৈরি হয়।