AspectC++
এস্পেক্টসি + + হল সি এবং সি + + ভাষার একটি দিক-ভিত্তিক সম্প্রসারণ। এটিতে একটি সোর্স-টু-সোর্স কম্পাইলার রয়েছে, যা অ্যাস্পেক্টসি + + সোর্স কোডকে কম্পাইলযোগ্য সি + +-এ অনুবাদ করে। কম্পাইলারটি জি. এন. ইউ. জি. পি. এল-এর অধীনে উপলব্ধ, যদিও মাইক্রোসফ্ট উইন্ডোজের জন্য নির্দিষ্ট কিছু এক্সটেনশন শুধুমাত্র বিশুদ্ধ-সিস্টেম জি. এম. বি. এইচ-এর মাধ্যমে উপলব্ধ। এস্পেক্ট-ওরিয়েন্টেড প্রোগ্রামিং একটি একক মডিউলে ক্রস-কাটিং উদ্বেগগুলিকে মডুলারাইজ করার অনুমতি দেয়, একটি দিক। দিকগুলি বিদ্যমান শ্রেণীগুলিকে সংশোধন করতে পারে, তবে সাধারণত তারা 'পরামর্শ' প্রদান করে যা বিদ্যমান কার্যকারিতার আগে, পরে বা তার আশেপাশে চলে। উদাহরণ একটি নির্দিষ্ট ফাংশনে সমস্ত কলগুলি অনেক জায়গায় 'সি. আর. আর' বা প্রিন্ট স্টেটমেন্ট সন্নিবেশ করার পরিবর্তে একটি দিক ব্যবহার করে সনাক্ত করা যেতে পারেঃ অ্যাসপেক্ট ট্রেসার {পরামর্শ কল ("%% আইটারঃঃ রিসেট (.)"): আগে () {সি. আর. আর <<"আইটারকে কল করতে চলেছেঃ:" <<জয়েনপয়েন্টঃঃ স্বাক্ষর () <<এন্ডল;} "-এর জন্য রিসেট করুন; ট্রেসার দিকটি% আইটারঃঃ রিসেট-এ যে কোনও কলের আগে একটি বার্তা মুদ্রণ করবে। % Iter বাক্যবিন্যাসের অর্থ হল এটি Iter-এ শেষ হওয়া সমস্ত শ্রেণীর সাথে মিলে যাবে। সোর্স কোডের প্রতিটি 'মিলে যাওয়া' অবস্থানকে জয়েন পয়েন্ট বলা হয়-পরামর্শটি সেই কোডের সাথে যুক্ত হয় (বা পরামর্শ দেয়)। অ্যাস্পেক্টসি + + জয়েন পয়েন্ট সম্পর্কে তথ্য সরবরাহ এবং অ্যাক্সেসের জন্য একটি জয়েন পয়েন্ট এপিআই সরবরাহ করে। উদাহরণস্বরূপ, 'জয়েনপয়েন্টঃঃ সিগনেচার' ফাংশনটি যে ফাংশনটি কল করতে চলেছে তার নাম (যা% Iter:: রিসেটের সাথে মিলেছে) প্রদান করে। জয়েন পয়েন্ট এপিআই কম্পাইল-টাইম ধরনের তথ্যও সরবরাহ করে যা কোনও পদ্ধতি বা ফাংশনের ফর্ম বা আর্গুমেন্টের মান এবং রিটার্ন টাইপ এবং রিটার্ন মান অ্যাক্সেস করার জন্য একটি দিকের মধ্যে ব্যবহার করা যেতে পারে। রেফারেন্স বাহ্যিক লিঙ্ক অ্যাস্পেক্টসি + + অতীতের এ. ও. এস. ডি সম্মেলনে অ্যাস্পেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এবং অ্যাস্পেক্টসি + + সম্পর্কিত নিবন্ধ অ্যাস্পেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সি + + প্রোগ্রামিং ভাষা পরিবার