আমি একটি পুরানো কোড বেসে কাজ করছি এবং প্রায় বিনামূল্যে () এর প্রার্থনাটি তার যুক্তিতে একটি কাস্ট ব্যবহার করে। উদাহরণ স্বরূপ,
free((float *)velocity);
free((float *)acceleration);
free((char *)label);
যেখানে প্রতিটি পয়েন্টারটি সংশ্লিষ্ট (এবং মিলে যাওয়া) ধরণের। আমি এটি করার কোন লাভ নেই। এটি খুব পুরানো কোড, সুতরাং আমি যদি ভাবছি যে এটি কোনও কেএন্ডআর জিনিস কিনা তবে আমি ভাবছি। যদি তা হয় তবে আমি প্রকৃতপক্ষে পুরানো সংকলকগুলির সমর্থন করতে চাই যার এটির প্রয়োজন হতে পারে, তাই আমি সেগুলি সরাতে চাই না।
এই ক্যাসেটগুলি ব্যবহার করার কোনও প্রযুক্তিগত কারণ আছে কি? এমনকি এগুলি ব্যবহার করার মতো কোনও বাস্তব কারণও আমি দেখতে পাচ্ছি না। তথ্য টাইপ মুক্ত করার আগে নিজেকে স্মরণ করিয়ে দেওয়ার কী দরকার?
সম্পাদনা: এই প্রশ্নটি অন্য প্রশ্নের সদৃশ নয় । অন্য প্রশ্নটি এই প্রশ্নের একটি বিশেষ ঘটনা, যা আমি মনে করি সুস্পষ্ট যদি নিকটতম ভোটাররা সমস্ত উত্তর পড়তেন।
কলোফন: আমি চেকমার্কটির "দৃ answer় উত্তর" দিচ্ছি কারণ এটি করার প্রয়োজন হতে পারে এটি একটি বিস্ময়কর আসল কারণ; তবে এটির পূর্ব-এএনএসআই সি প্রথা (কমপক্ষে কিছু প্রোগ্রামারদের মধ্যে) হওয়া সম্পর্কে উত্তরটি আমার ক্ষেত্রে এটি ব্যবহৃত হওয়ার কারণ বলে মনে হচ্ছে। এখানে অনেক লোকের দ্বারা প্রচুর ভাল পয়েন্ট। আপনার অবদানের জন্য আপনাকে ধন্যবাদ।
void*
প্রাক-সি সি তে কোনও ছিল না , তবে কেবল ছিল char*
। সুতরাং যদি আপনার প্রত্নতাত্ত্বিক অনুসন্ধানগুলি প্যারামিটারটি ফ্রি () মুক্ত করার কোডটি প্রকাশ করে তবে আমি বিশ্বাস করি এটি অবশ্যই সেই সময়কালের হতে হবে, বা কোনও সময় কোনও প্রাণী দ্বারা লিখিত হবে। যদিও এর জন্য আমি কোনও উত্স খুঁজে পাচ্ছি না, তাই আমি উত্তর দেওয়া থেকে বিরত থাকব।