আমি এই অনুসারে "ইউজার 1949346" এর উপর আমার মন্তব্যে (গুলি) উত্তর দেওয়ার জন্য এটি একটি অনুস্মারক হিসাবে উত্তর দিচ্ছি।
তাই ইতিমধ্যে অনেকে উত্তর দিয়েছেন: যেভাবেই ঠিক আছে। অনুসরণ করে তাদের নিজস্ব ছাপগুলিতে জোর দেওয়া।
ভূমিকা, পূর্বের নামযুক্ত মন্তব্যগুলিতে যেমন বলা হয়েছে, আমার মতে C++
শিরোনাম বর্ধনের প্রস্তাব দেওয়া হচ্ছে .h
যদি এর বিরুদ্ধে কোনও কারণ না থাকে।
যেহেতু আইএসও / আইইসি নথিগুলি শিরোনাম ফাইলগুলির এই স্বরলিপি ব্যবহার করে এবং .hpp
সেগুলির সাথে তাদের ভাষার ডকুমেন্টেশনে কোনও স্ট্রিং মেলেনি C++
।
তবে আমি এখন একটি অনুমোদনের কারণেই লক্ষ্য করছি যে কেন দুটি উপায়ই ঠিক আছে, এবং বিশেষত কেন এটি নিজের ভাষার মুখের নয়।
সুতরাং এখানে আমরা যেতে।
C++
ডকুমেন্টেশন (আমি আসলে সংস্করণ N3690 থেকে রেফারেন্স গ্রহণ করছি) সংজ্ঞায়িত করে একটি শিরোলেখ নিম্নলিখিত সিনট্যাক্স সাথে সামঞ্জস্য রয়েছে যে:
২.৯ শিরোনামের নাম
header-name:
< h-char-sequence >
" q-char-sequence "
h-char-sequence:
h-char
h-char-sequence h-char
h-char:
any member of the source character set except new-line and >
q-char-sequence:
q-char
q-char-sequence q-char
q-char:
any member of the source character set except new-line and "
সুতরাং আমরা যেমন এই অংশ থেকে নিষ্কাশন করতে পারি, শিরোনাম ফাইলের নাম উত্স কোডেও বৈধ যে কোনও কিছু হতে পারে। ধারণকারী ছাড়া '\n'
অক্ষর এবং যদি এটা দ্বারা অন্তর্ভুক্ত করা হয় উপর নির্ভর করে <>
এটি একটি ধারণ মঞ্জুরিপ্রাপ্ত নয় >
। বা অন্য উপায়ে যদি এটি অন্তর্ভুক্ত করা হয় ""
তবে এটিতে একটি যুক্ত করার অনুমতি নেই "
।
অন্য কথায়: যদি আপনার মতো ফাইলনাম সমর্থনকারী পরিবেশ থাকে তবে এর মধ্যে prettyStupidIdea.>
অন্তর্ভুক্ত রয়েছে:
#include "prettyStupidIdea.>"
বৈধ হবে, কিন্তু:
#include <prettyStupidIdea.>>
অবৈধ হবে। একইভাবে অন্যান্য উপায়।
আর যদি
#include <<.<>
একটি বৈধ অন্তর্ভুক্তযোগ্য শিরোনাম ফাইলের নাম হতে পারে।
এমনকি C++
এটি মেনে চলতে পারে , এটি একটি সুন্দর সুন্দর বোকামি ধারণা হবে।
এবং এ কারণেই .hpp
বৈধ।
তবে কমিটির ভাষার সিদ্ধান্ত গ্রহণের ফলাফল নয়!
তাই ব্যবহার সম্পর্কে আলোচনা .hpp
সম্পর্কে এরকম হিসাবে একই .cc
, .mm
বা কখনও আর কি আমি এই বিষয়ে অন্যান্য পোস্ট পড়া।
আমাকে স্বীকার করতে হবে যে 1.hpp
থেকে আসে যেখানে আমার কোনও ক্লু নেই , তবে আমি কিছু পার্সিং সরঞ্জাম, আইডিই বা এর সাথে সম্পর্কিত অন্য কোনও উদ্ভাবককে কিছু অভ্যন্তরীণ প্রক্রিয়া অনুকূল করতে বা কিছু আবিষ্কার করার জন্য এই ধারণাটি নিয়ে এসেছি (সম্ভবত তাদের জন্য প্রয়োজনীয়ভাবে ) নতুন নামকরণের সম্মেলন।C++
তবে এটি ভাষার অংশ নয়।
এবং যখনই কেউ এইভাবে এটি ব্যবহার করার সিদ্ধান্ত নেয়। এটা হতে পারে, কারণ তিনি লেগেছে এটা সবচেয়ে অথবা কারণ কর্মপ্রবাহ কিছু অ্যাপ্লিকেশন এটি প্রয়োজন, এটি 2 ভাষা একটি প্রয়োজন। সুতরাং যে কেউ "পিপি বলে এটি সি ++ এর সাথে ব্যবহৃত হয়", কেবলমাত্র ভাষাগুলির সংজ্ঞা অনুসারে ভুল।
সি ++ পূর্ববর্তী অনুচ্ছেদে সম্মানিত কোনও কিছুর অনুমতি দেয়। এবং যদি কমিটিটি ব্যবহারের প্রস্তাবিত কিছু থাকে তবে এটি ব্যবহার করছে .h
যেহেতু এটি আইএসও নথির সমস্ত উদাহরণে দায়ের করা এক্সটেনশন।
উপসংহার:
যতক্ষণ না আপনি .h
ওভার .hpp
বা উইস উল্টোটি ব্যবহারের কোনও প্রয়োজন বোধ করেন না, আপনার বিরক্ত করা উচিত নয়। কারণ উভয়ই মানের ক্ষেত্রে একই মানের একটি বৈধ শিরোনাম নাম হবে। আর তাই কিছু যা চান আপনি ব্যবহার করতে .h
বা .hpp
মান এমনকি অন্যান্য অতিরিক্ত বিধিনিষেধ সঙ্গে contradicting যেতে পারে একটি অতিরিক্ত সীমাবদ্ধতা নয় একে অপরের সাথে সামঞ্জস্য। তবে ওপিতে কোনও অতিরিক্ত ভাষার বিধিনিষেধের কথা উল্লেখ না করায় এটাই প্রশ্নের একমাত্র সঠিক এবং অনুমোদনযোগ্য উত্তর
" *। এইচ বা * .এইচপি আপনার শ্রেণীর সংজ্ঞার জন্য " হল:
উভয়ই সমানভাবে সঠিক এবং প্রযোজ্য যতক্ষণ না কোনও বাহ্যিক বিধিনিষেধ উপস্থিত না থাকে।
1 আমি যা জানি, স্পষ্টতই, এটি সেই .hpp
এক্সটেনশনের সাথে উত্সাহিত কাঠামো ।
2 অবশ্যই কিছু ভবিষ্যতের সংস্করণগুলি এর সাথে কী নিয়ে আসবে তা আমি বলতে পারি না!