আমি একটি লিনিয়ার বীজগণিত গ্রন্থাগার লিখছি (দীর্ঘ গল্প সংক্ষেপে এটি একটি স্কুল কার্যনির্বাহী) যা ম্যাট্রিক, ভেক্টর ইত্যাদির সাথে জড়িত এই লাইব্রেরিটি তৈরির প্রক্রিয়াতে, আমি বস্তুগুলিতে গাণিতিক ক্রিয়াকলাপ সম্পাদনকারী ফাংশন তৈরি করতে যাচ্ছি। উদাহরণস্বরূপ, ম্যাট্রিক্স স্থানান্তর করুন, ম্যাট্রিক্স বিপরীত করুন, ভেক্টরকে স্বাভাবিক করুন ইত্যাদি
আমি কৌতূহল ছিলাম যে এই ধরণের ফাংশনের জন্য "সেরা অনুশীলন" কী ... এটি কি আমার এই ফাংশনটিকে সদস্য ফাংশন, বা সদস্যহীন করা উচিত? (স্পষ্টতা / গ্রন্থাগার ব্যবহারের জন্য)
উদাহরণ:
//Member function way:
B = A.transpose();
C = A.inverse();
//Non-member function way:
B = linalg::transpose(A); //Non-member transpose function in linear algebra namespace
C = linalg::inverse(A);
এই ধরণের অপারেশন সম্পর্কে কিছু মান আছে? বা, কমপক্ষে, কোনও সাধারণ উপায়ে কি লোকেরা এটি করে? আমি প্রথম বিকল্পের দিকে ঝুঁকছি, তবে আমি এটির প্রস্তাবিত কিনা তা জানতে চাই।