আমি কোয়েনিগ দ্বারা ত্বরণী সি ++ পড়ছি। তিনি লিখেছেন যে "নতুন ধারণাটি হ'ল আমরা একটি স্ট্রিং এবং একটি স্ট্রিং আক্ষরিক - বা এই ক্ষেত্রে দুটি স্ট্রিং (তবে দুটি স্ট্রিং লিটারাল নয়) যুক্ত করতে ব্যবহার করতে পারি।
ভাল, এই ধারণাটি বোঝার জন্য আমি মনে করি। এখন এটি আলোকিত করার জন্য দুটি পৃথক মহড়ার উপর onto
নিম্নলিখিত সংজ্ঞাগুলি কি বৈধ?
const string hello = "Hello";
const string message = hello + ",world" + "!";
এখন, আমি উপরেরটি কার্যকর করার চেষ্টা করেছি এবং এটি কার্যকর হয়েছে! তাই আমি খুশি ছিলাম।
তারপরে আমি পরের অনুশীলনটি করার চেষ্টা করেছি;
const string exclam = "!";
const string message = "Hello" + ",world" + exclam;
এটি কার্যকর হয়নি। এখন আমি বুঝতে পেরেছি এর সাথে আপনার কিছু সম্পর্ক আছে যে আপনি দুটি স্ট্রিং লিটারেল যুক্ত করতে পারবেন না, তবে আমি কেন কাজ করার প্রথম উদাহরণটি অর্জন করতে পেরেছি ("নয়", "বিশ্ব" এবং "এর মধ্যে অর্থগত পার্থক্য বুঝতে পারি না! "দুটি স্ট্রিং লিটারেল? এটি কি কাজ করা উচিত নয়?) তবে দ্বিতীয়টি নয়।
"Hello" + ", world!"
আপনি যখন করতে পারেন কেউ কেন লিখবে "Hello, world!"
। যথারীতি সি ++ তে অনুভূত সমস্যাটির জন্য একটি দুর্দান্ত এবং সাধারণ কাজ রয়েছে। :-)
"Hello" ", world!"
(ছাড়াই +
)। সি ++ সম্পর্কে যে কেউ অভিযোগ করতে পারে তার অনেকগুলি অভিযোগ রয়েছে তবে আমি মনে করি না যে এটি এখানে পরিচালনা করা সেগুলির মধ্যে একটি। এটি ঠিক একই জিনিস যেমন আপনি লিখেছেন 1 / 3 + 1.5
, এবং অভিযোগ করেছেন কারণ বিভাগটি অবিচ্ছেদ্য বিভাগ ছিল। আরও ভাল বা খারাপের জন্য, বেশিরভাগ ভাষাগুলি এইভাবে কাজ করে।
"hello" " world" == "hello world"
কার্যকর যদি আপনি একটি দীর্ঘ স্ট্রিং লিখতে চান এবং এটি আপনার উইন্ডোটির বাইরে যেতে না চান বা আপনি কিছু লাইন দৈর্ঘ্যের সংকীর্ণতার মধ্যে থাকতে চান। অথবা যদি কোনও স্ট্রিং ম্যাক্রোতে সংজ্ঞায়িত হয়।
const string message = "Hello" ",world" + exclam
(যেমন প্রথম বাদ দেওয়া+
) জোরে কাজ ঠিক আছে।