প্রশ্ন ট্যাগ «constexpr»

কনসেক্সপ্রস সি ++ 11 এ প্রবর্তিত একটি সংশোধক, যা সংকলককে জানিয়ে দেয় যে কোনও ফাংশন বা ভেরিয়েবলের মান জানা যায় বা সংকলনের সময় গণনা করা যায়। যেমন, এটি এমন স্থানে ধ্রুবক হিসাবে ব্যবহার করা যেতে পারে যেখানে অন্যথায় এটি হতে পারে না।


14
আপনি যখন C ++ 11 এ কনটেক্সট্রপ ক্ষমতাটি ব্যবহার করবেন?
আমার কাছে মনে হয় যে "ফাংশন কলিং" এর অর্থ ভাঙ্গা বা হ্রাসকারী "ফাংশন যা সর্বদা 5 প্রদান করে" থাকে তা হ'ল। কোনও কারণ থাকতে হবে, বা এই সক্ষমতা প্রয়োজন বা এটি সি ++ 11 এ হবে না। ওখানে কেন? // preprocessor. #define MEANING_OF_LIFE 42 // constants: const int MeaningOfLife = …
337 c++  c++11  constexpr 


2
কোনও ফাংশনের অভ্যন্তরে স্থির কনস্টেক্সপ্র ভেরিয়েবলটি কী বোঝায়?
যদি কোনও ফাংশনের ভিতরে আমার ভেরিয়েবল থাকে (বলুন, একটি বড় অ্যারে), তবে এটি উভয়ই staticএবং এটি ঘোষণার অর্থ constexprকি? constexprগ্যারান্টি দেয় যে সংকলন সময়ে অ্যারে তৈরি হয়েছে, তাই কি staticঅকেজো হবে? void f() { static constexpr int x [] = { // a few thousand elements }; // do something …
192 c++  static  c++11  constexpr 

6
স্ট্যাটিক কনটেক্সপ্র্যাপ চর সম্পর্কে অপরিজ্ঞাত রেফারেন্স []
আমি static const charআমার ক্লাসে একটি অ্যারে রাখতে চাই জিসিসি অভিযোগ করেছে এবং আমাকে বলেছে আমার ব্যবহার করা উচিত constexpr, যদিও এখন এটি আমাকে বলেছে এটি একটি অপরিজ্ঞাত রেফারেন্স। যদি আমি অ্যারেটিকে সদস্যবিহীন করে তোলে তবে এটি সংকলন করে। কি হচ্ছে? // .hpp struct foo { void bar(); static constexpr …

4
কনস্টেক্সপ্রে স্ট্যান্ড স্ট্রিং ব্যবহার করা কি সম্ভব?
সি ++ 11, উবুন্টু 14.04, জিসিসি ডিফল্ট টুলচেন ব্যবহার করে । এই কোড ব্যর্থ: constexpr std::string constString = "constString"; ত্রুটি: কনস্টেক্সপ্র ভেরিয়েবল 'কনস্ট্রিং' এর টাইপ 'কনস্ট স্ট্রিং {ওরফে কনস্ট স্ট্র্যাড :: বেসরাল_স্ট্রিং}' আক্ষরিক নয় ... কারণ ... 'স্টাড :: বেসিক_স্ট্রিং'-এ একটি তুচ্ছ ত্রুটিযুক্ত ডেস্ট্রাক্টর রয়েছে এটি ব্যবহার করা সম্ভব std::stringএকটি …

2
কনটেক্সারপ ইনলাইন অন্তর্ভুক্ত করে?
নিম্নলিখিত ইনলাইনড ফাংশনটি বিবেচনা করুন: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } এবং কনস্টেক্সপ্র সমতুল্য সংস্করণ: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); constexpr …

2
সি ++ এ "একটি ক্রিয়াকলাপে বিষ প্রয়োগ" এর অর্থ কী?
সিপিসকনে স্কট শুরারের আলোচনার "পরিচয় constexpr" এর একেবারে শেষে , তিনি জিজ্ঞাসা করেছেন "কোনও ফাংশনে বিষ দেওয়ার কোনও উপায় আছে"? তারপরে তিনি ব্যাখ্যা করেন যে এটি করা যেতে পারে (একটি মানহীন উপায়ে হলেও): throwএকটি constexprফাংশন একটি রাখা অমীমাংসিত ঘোষণা করে extern const char* মধ্যে অমীমাংসিত উল্লেখ externকরেthrow আমি বুঝতে পারি …
96 c++  constexpr 

6
সংকলন সময়ে সি স্ট্রিংয়ের গণনা দৈর্ঘ্য। এটি কি আসলে একটি কনটেক্সপ্রস?
আমি সংকলনের সময় একটি স্ট্রিংয়ের আক্ষরিক দৈর্ঘ্য গণনা করার চেষ্টা করছি। এটি করতে আমি নিম্নলিখিত কোড ব্যবহার করছি: #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } সবকিছু প্রত্যাশার মতো কাজ করে, …


3
সংকলনের সময় আমি কীভাবে একটি বহুমাত্রিক স্টাড :: ভেক্টরের গভীরতা পেতে পারি?
আমার একটি ফাংশন রয়েছে যা বহুমাত্রিক লাগে std::vectorএবং একটি টেমপ্লেট প্যারামিটার হিসাবে গভীরতা (বা মাত্রার সংখ্যা) পাস করার প্রয়োজন। এই মানটির হার্ডকোডিংয়ের পরিবর্তে আমি একটি constexprফাংশন লিখতে চাই যা গ্রহণ করবে std::vectorএবং unsigned integerমান হিসাবে গভীরতা ফিরিয়ে আনবে । উদাহরণ স্বরূপ: std::vector<std::vector<std::vector<int>>> v = { { { 0, 1}, { …

1
সি ++ টাইম কাউন্টারগুলি সংকলন, পুনর্বিবেচিত
টি এল; ডিআর এই পুরো পোস্টটি পড়ার চেষ্টা করার আগে জেনে রাখুন: উপস্থাপিত ইস্যুটির একটি সমাধান আমি নিজেই খুঁজে পেয়েছি তবে বিশ্লেষণটি সঠিক কিনা তা জানতে আমি এখনও আগ্রহী; আমি সমাধানটি একটি fameta::counterক্লাসে প্যাকেজ করেছি যা কয়েকটা বাকী বাচ্চা সমাধান করে। আপনি এটি গিথুবে খুঁজে পাবেন ; আপনি গডবোল্ট নিয়ে …

1
গ্লোবাল কনস্ট চরটি []] কনটেক্সপ্রিং স্ট্রিং_ভিউয়ের সাথে প্রতিস্থাপনকারী কোনও গেটচাস?
আমাদের দল 10+ বছরের পুরানো সি ++ কোড বেস নিয়ে কাজ করছে এবং সম্প্রতি একটি সি ++ 17 সংকলকটিতে স্যুইচ করেছে। সুতরাং আমরা আমাদের কোডটি আধুনিকীকরণের উপায়গুলি সন্ধান করছি। ইউটিউবে একটি সম্মেলনের আলাপে আমি const char*বিশ্বব্যাপী স্ট্রিংগুলির সাথে প্রতিস্থাপন করার পরামর্শটি শুনেছিলাম constexpr string_view। যেহেতু আমরা const char*আমাদের কোডে বেশ …

1
স্ট্যান্ড :: জোড় <অটো, অটো> রিটার্ন টাইপ
আমি প্রায় খেলে গেল autoমধ্যে std::pair। নীচের কোডে, ফাংশনটি fএমন কোনও std::pairধরণের ফেরত দেওয়ার কথা যা কোনও টেম্পলেট প্যারামিটারের উপর নির্ভর করে। একটি কার্যকরী উদাহরণ: উদাহরণ 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == …

2
কেন std :: অদলবদল C ++ 20 এর পূর্বে কনটেক্সপ্রপ চিহ্নিত করা হয়নি?
সি ++ ২০ এ, std::swapএকটি constexprফাংশন হয়ে যায় । আমি জানি যে স্ট্যান্ডার্ড লাইব্রেরি জিনিসগুলি চিহ্নিত করার ক্ষেত্রে ভাষার চেয়ে পিছিয়ে ছিল constexpr, তবে &lt;algorithm&gt;২০১ 2017 সালের মধ্যে অন্যান্য বিষয়গুলির মতো অনেকটা কনসেক্সট্রপ ছিল। তবুও - std::swapছিল না। আমি অস্পষ্টভাবে মনে করি কিছু অদ্ভুত ভাষার ত্রুটি রয়েছে যা সেই চিহ্নটিকে …

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.