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

টেমপ্লেট ট্যাগ একাধিক প্রসঙ্গে ব্যবহার করা হয়: জেনেরিক প্রোগ্রামিং (বিশেষত সি ++), এবং টেমপ্লেট ইঞ্জিনগুলি ব্যবহার করে ডেটা / ডকুমেন্ট জেনারেশন। ভারী প্রশ্ন প্রয়োগের ক্ষেত্রে এই ট্যাগটি ব্যবহার করার সময় - কোড প্রয়োগ করুন ভাষা প্রয়োগের ক্ষেত্রে।

4
টেমপ্লেটগুলি ব্যবহার করে একটি ফাংশন ওভারলোড হচ্ছে
আমি টেমপ্লেটগুলি ব্যবহার করে কোনও ফাংশন সংজ্ঞায়িত করার চেষ্টা করছি এবং আমি চাই টাইপনামটি হয় হয় ইনট বা এ্যানুম (একটি নির্দিষ্ট এনাম যা আমি সংজ্ঞায়িত করেছি)। আমি নিম্নলিখিত চেষ্টা করেছিলাম কিন্তু আমি ব্যর্থ হয়েছি: template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T> bool …

3
আমি কীভাবে সি ++ তে টাইপ তালিকার কার্টেসিয়ান পণ্য তৈরি করতে পারি?
স্ব বর্ণনামূলক। মূলত, বলুন আমার মতো টাইপ তালিকাগুলি রয়েছে: using type_list_1 = type_list<int, somestructA>; using type_list_2 = type_list<somestructB>; using type_list_3 = type_list<double, short>; এগুলি টাইপ তালিকার বিভিন্ন সংখ্যা হতে পারে। আমি কীভাবে কার্টেসিয়ান পণ্যটির টাইপলিস্ট পেতে পারি? result = type_list< type_list<int, somestructB, double>, type_list<int, somestructB, short>, type_list<somestructA, somestructB, double>, type_list<somestructA, …

4
জেনেরিক আর্গুমেন্ট হিসাবে একটি নির্দিষ্ট ধরণের সাথে এসটিএল ধারক
আমি কোনও ফাংশন তৈরি করতে পারি যা std::stringএকটি পরামিতি হিসাবে একটি নির্দিষ্ট ধরণের (বলতে দিন ) একটি ধারক গ্রহণ করে void foo(const std::container<std::string> &cont) { for(std::string val: cont) { std::cout << val << std::endl; } } এবং এটিকে ইনপুট হিসাবে স্টাইলের প্রতিটি ধরণের জন্য কল করবেন? উপরের মত? std::set<std::string> strset; …

1
কোনও ফাংশন প্যারামিটারের জন্য একটি টেম্পলেট আর্গুমেন্ট স্থানধারক হিসাবে 'অটো'
সি ++ 20 autoফাংশন প্যারামিটার ধরণের জন্য ব্যবহারের অনুমতি দেয় । এটি কি autoকোনও টেম্পলেট আর্গুমেন্ট স্থানধারক হিসাবে ব্যবহারের অনুমতি দেয় (অনুরূপ নয়, তবে সি ++ 17 টেমপ্লেটের আত্মায় <অটো> ফাংশন প্যারামিটার ধরণের জন্য ) ব্যবহার করার অনুমতি দেয়? সুতরাং নিম্নলিখিত কোড, প্রাক সি ++ 20: template<typename First, typename Second> …
22 c++  templates  auto  c++20 

4
কোনও টেম্পলেট ধরণের সঠিক কনস্ট্রাক্টরকে কীভাবে কল করবেন?
নিম্নলিখিত কোডটিতে, আমি কীভাবে মন্তব্য করা লাইনটিকে তার ঠিক উপরে লাইন হিসাবে একইভাবে কাজ করতে পারি? আমি এটিকে একটি জেনেরিক কোড বানাতে চাই, এটি একটি টেম্পলেটটির উপযুক্ত কনস্ট্রাক্টর Type। #include <string> #include <iostream> template <typename Type> struct Class { Type data; Class(Type data) : data(data) { } }; int main() …

3
কেন অনন্য_সত্তার <বিসর্জন> অনন্য_আপনার <বাসে> তে অন্তর্ভুক্ত?
আমি নিম্নলিখিত কোডটি লিখেছিলাম unique_ptr&lt;Derived&gt;যেখানে unique_ptr&lt;Base&gt;এটি প্রত্যাশিত হয় uses class Base { int i; public: Base( int i ) : i(i) {} int getI() const { return i; } }; class Derived : public Base { float f; public: Derived( int i, float f ) : Base(i), f(f) {} float …

1
টেমপ্লেট এবং অস্পষ্টতার স্বয়ংক্রিয় ফেরতের প্রকার
আমার একটি অতিরিক্ত লোড টেম্পলেট ফাংশন রয়েছে: template&lt;typename T1, typename T2&gt; auto overMax(T1 a, T2 b) { std::cout &lt;&lt; __FUNCSIG__ &lt;&lt; std::endl; return b &lt; a ? a : b; } template&lt;typename RT, typename T1, typename T2&gt; RT overMax(T1 a, T2 b) { std::cout &lt;&lt; __FUNCSIG__ &lt;&lt; std::endl; return b …

4
কেন std :: ফাংশন ওভারলোড রেজোলিউশনে অংশ নেয় না?
আমি জানি যে নিম্নলিখিত কোডগুলি সংকলন করবে না। void baz(int i) { } void baz() { } class Bar { std::function&lt;void()&gt; bazFn; public: Bar(std::function&lt;void()&gt; fun = baz) : bazFn(fun){} }; int main(int argc, char **argv) { Bar b; return 0; } কারণ std::functionওভারলোড রেজোলিউশনটি বিবেচনা না করার কথা বলা হয়েছে, …

1
ক্ল্যাং কি কোড প্রত্যাখ্যান করার ক্ষেত্রে সঠিক, যেখানে কোনও শ্রেণিবদ্ধ টেমপ্লেটের নেস্টেড ক্লাসটি কেবল বিশেষায়নের মাধ্যমে সংজ্ঞায়িত করা হয়?
নিম্নলিখিত শ্রেণীর টেমপ্লেট দেওয়া হয়েছে: template&lt;typename T&gt; struct Outer { struct Inner; auto f(Inner) -&gt; void; }; আমরা Innerপ্রতিটি বিশেষজ্ঞের জন্য পৃথকভাবে সংজ্ঞায়িত করি Outer: template&lt;&gt; struct Outer&lt;int&gt;::Inner {}; template&lt;&gt; struct Outer&lt;double&gt;::Inner {}; এবং তারপরে fসমস্ত বিশেষত্বের জন্য একবার সদস্য ক্রিয়া সংজ্ঞায়িত করুন Outer: auto Outer&lt;T&gt;::f(Inner) -&gt; void { } …

2
অস্পষ্ট ওভারলোড টেম্পলেটগুলি
আমার নীচের টেম্প্লেটেড কোড রয়েছে #include &lt;vector&gt; #include &lt;array&gt; #include &lt;iostream&gt; template&lt;typename T1&gt; void foo(std::vector&lt;T1&gt; bar) { std::cout &lt;&lt; "GENERIC" &lt;&lt; std::endl; } template&lt;typename T1&gt; void foo(std::vector&lt;std::vector&lt;T1&gt;&gt; bar) { std::cout &lt;&lt; "SPECIFIC (vector)" &lt;&lt; std::endl; } template&lt;typename T1, int SIZE&gt; void foo(std::vector&lt;std::array&lt;T1, SIZE&gt;&gt; bar) { std::cout &lt;&lt; "SPECIFIC (array)" &lt;&lt; …
16 c++  templates 

3
ভারিয়াদিক টেমপ্লেট: দলগুলিতে যুক্তি প্রকাশ করা
আমার একটি ফাংশন রয়েছে যা দুটি যুক্তি গ্রহণ করে: template &lt;typename T1, typename T2&gt; void foo(T1 arg1, T2 arg2) { std::cout &lt;&lt; arg1 &lt;&lt; " + " &lt;&lt; arg2 &lt;&lt; '\n'; } এবং একটি ভিন্নধর্মী যা যুক্তিগুলিতে তার যুক্তিগুলি ফরোয়ার্ড করবে: template &lt;typename... Args&gt; void bar(Args&amp;&amp;... args) { static_assert(sizeof...(Args) % …

2
কোনও টেম্পলেট টাইপনেম যুক্তির রেফারেন্স কীভাবে পাস করবেন
কোনও টেম্পলেট টাইপনেম যুক্তির পক্ষে আর্গুমেন্ট হিসাবে রেফারেন্সটি পাস করার কোনও উপায় আছে কি? আমি এর অর্থ একটি int পাস করার পরিবর্তে, উদাহরণস্বরূপ, কোনও int এর একটি রেফারেন্স পাস করা। template &lt;typename T&gt; struct Foo { Foo(T arg) : ptr(arg) {} T ptr; }; int main() { int* a = …
15 c++  templates 

5
টেমপ্লেট শ্রেণীর উত্পন্ন করার জন্য লুপের জন্য কনস্ট কনটেবল কীভাবে থাকতে হয়?
আমার মত একটি কোড আছে template &lt;size_t N&gt; class A { template &lt;size_t N&gt; someFunctions() {}; }; এখন আমি ক্লাসের উদাহরণ তৈরি করতে চাই এবং এর মধ্যে বিভিন্ন ফাংশনগুলিকে একটি লুপের জন্য অনেকগুলি মানের সেট হিসাবে কল করতে চাই // in main() int main() { for (int i = 1; …

1
কলঙ্ক কোড সংকলন করে না তবে জিসিসি এবং এমএসভিসি এটি সংকলন করে
সমস্যাটি কী তা আমি বুঝতে পারি না: হয় আমার কোডে বা সংকলকটিতে (কম সম্ভব)। এখানে কোডের একটি অংশ রয়েছে: #include &lt;iostream&gt; #include &lt;type_traits&gt; #include &lt;set&gt; template&lt;typename T, typename = void&gt; struct TestA: std::false_type {}; template&lt;typename T&gt; struct TestA&lt;T, std::void_t&lt;typename T::reverse_iterator&gt;&gt; : std::true_type {}; template&lt;typename T&gt; struct TestA&lt;T, std::void_t&lt;typename T::dummy_iterator&gt;&gt; : …

2
কোনও অবজেক্ট অবিচ্ছেদ্য বা না হয় বা শ্রেণির ধরণ কিনা তা জানার কী লাভ?
হ্যালো আমি Cppreferences.com এ এরকম অনেক উদাহরণ দেখেছি: std::is_class&lt;T&gt; std::is_integral ইত্যাদি। আমি জানি যে আমি কোডটি চালনা করি উদাহরণস্বরূপ আমি পেয়েছি trueবা false। তবে তাতে কী লাভ? উদাহরণস্বরূপ অবজেক্টটি ক্লাস টাইপের হয় না জেনে? #include &lt;iostream&gt; #include &lt;type_traits&gt; struct A {}; class B {}; enum class C {}; int main() …
14 c++  templates 

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