cost 99 ms
條件編譯(constexpr if)和“ISO C++ 禁止零大小數組”

[英]Conditional compilation (constexpr if) and "ISO C++ forbids zero-size array"

使用以下代碼: 我收到編譯器錯誤(帶有 -pedantic 標志),它抱怨不允許零大小數組。 在我的示例中,從未創建具有零大小數組的 object,但看起來它仍然是一個問題。 我試圖通過使用std::conditional來解決它,但即便如此,我還是得到了一個額外的 function,例如: 處理 ...

擦除作為 NTTP 注入的 static 字符串中的字符類型和字符串長度?

[英]Erasing character type and string length in a static string injected as NTTP?

我目前正面臨一個與字符串文字和類型擦除有關的模板元編程問題。 問題如下。 讓我們考慮以下代碼: 問題:如何設計一個 class static_string ,它將作為其類型的一部分“擦除”字符類型及其長度,以便上面的static_assert不會失敗? ...

如何基於模板推導進行 static 調度

[英]How to do static dispatch base on derivation on a template

如果對象屬於某些模板/類,我如何專門化模板 function 以返回 true,而對於其他模板/類則返回 false 沒有類具有虛函數。 我有一個模板: 我想做特殊處理,或從該模板派生的任何 class。 在下面的示例中,我對DynamicData<>進行了專門化: DynamicDat ...

C++11中如何用inheritance定義模板模板類型

[英]How to define template template types with inheritance in C++11

我想定義一個派生的 class,它具有模板化基礎 class 的模板模板類型。這可能嗎?如果可以,語法是什么? 我嘗試了很多事情都沒有成功。 請考慮這段代碼: 為什么:我有Derived<U>的現有/工作代碼,其中U是一個包裝的 class W<T> 。 使用模板模板類型在定 ...

class 對象與標量具有不同行為的函數和運算符的模板參數推導和特化

[英]Template parameter deduction and specialization for functions and operators with different behavior for class objects vs scalars

我正在從事一個通過模板元編程涉及一些 static 多態性的項目。 這些類通過數學運算進行交互,這些運算應該同時識別標量和 class object arguments。多態性和對象-對象交互的一個基本示例是: 在我嘗試添加模板專業化來解釋與標量的乘法之前,這似乎工作得很好。 似乎這個新的模板專業化 ...

將可變參數模板 arguments 傳遞給另一個模板

[英]Passing variadic template arguments to another template

我有這段代碼,其中static_for可以用作使用模板元編程的編譯時循環,而loop_types是一個接受可變參數 arguments 的struct 。每當我嘗試調用 function call時,它都會給我一個錯誤。 在loop_types中,這是一個模板loop ,包含打印類型名稱的 func ...

使用 CRTP 獲取方法重載的類型

[英]Getting the types of method overloads with CRTP

我一直在想,是否有可能使用 C++20 以某種方式將方法重載的類型獲取到元組: 我希望元組有效地包含: &S::f(int), &S::f(bool) 。 編輯:這個想法是能夠有多個可以利用模板的各種類: ...

如何根據數組的大小啟用/禁用 function?

[英]How can I enable/disable a function depending on the size of an array?

我對 TMP 還是很陌生,所以如果這是一個措辭不佳的問題,請原諒我。 我試圖制作一個非常通用的數學向量 class 來存儲任意數量的組件,但默認為 3 並使用 float 作為它的基本表示。 因此,如果您默認構建這些向量之一,它將包含(0.0f,0.0f,0.0f) 這些值本身存儲在std::ar ...

當兩種類型相等時,如何為泛型 class 上的泛型方法添加模板專業化?

[英]How do I add a template specialization when for a generic method on a generic class when the two types are equal?

我正在嘗試添加通用類型方法和 class 一致的專業化,但我無法弄清楚如何指定模板實例化(如果可能的話)。 我最好的猜測是類似於以下內容(盡管它顯然無法編譯):template<typename ClassT> class Foo { public: ClassT x; te ...

將 lambda 模板化的 class 存儲為另一個 class 的成員時如何推斷模板參數?

[英]How to deduce the template argument when storing a lambda-templated class as a member of another class?

我有一個關於將 lambda 模板化的 object 存儲為 class 成員的問題。 Invoker class 是一個模板化的 class,存儲任意 lambda function。我想將Invoker的實例存儲在另一個 class, Worker中。 但是,當Invoker用作 class ...

C++ 模板檢查輸入類型是否實現了`operator []`

[英]C++ template to check if input type implements `operator []`

我正在嘗試使用模板來檢查輸入類型是否實現了operator[] 。 這是我的代碼: 但它沒有用。 無論我輸入哪種類型,它總是 output 0。 我認為如果T = int或T = double , decltype(&T::operator[])將失敗並且將根據 SFINAE 使用主要的h ...

如何阻止 clang 通過模板過度擴展嵌套循環?

[英]How to stop clang from overexpanding nested loops via templates?

考慮這段代碼 在clang++ -O0中編譯時,它會在幾秒鍾內編譯,然后運行 4 秒。 但是用clang++ -O2 ,編譯時間長,memory很多。 在godbolt上可以看到,把8改小一點,就充分展開了循環。 我不是讓它完全沒有優化,而是讓它不遞歸,就像嵌套循環應該表現的那樣。 有什么我應該做 ...

api 用於索引可變參數 arguments

[英]api for indexed variadic arguments

我不知道在將類似元組的對象解包到可調用處理程序中時,即在使用std::apply時,是否有一種好的和干凈的方法來索引可變參數 arguments 。 這是一個不完美但相當干凈的解決方案: 此解決方案比使用std::index_sequence的重載更干凈,因為您不必在 lambda 的 scope ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM