class-template

    0熱度

    1回答

    在這個關於Curiously Recurring Template Patten的網頁中,可以在堆棧上實例化派生類(Object Counter示例,其中基類模板具有受保護的析構函數):CRTP-wiki ..我編譯了自己。 template <typename T> struct counter { static int objects_created; static i

    3熱度

    2回答

    今天我試着將模板類傳遞給模板參數。我的模板類std::map有四個模板參數,但最後兩個是默認參數。 我能得到下面的代碼進行編譯: #include <map> template<typename K, typename V, typename P, typename A, template<typename Key, typename Value, typename Pr= P, t

    4熱度

    2回答

    雖然聲明迭代器時,研究一個無符號與符號的整數比較警告我的for循環,I read this: Whenever possible, use the exact type you will be comparing against (for example, use std::string::size_type when comparing with a std::string 's length)

    0熱度

    1回答

    #include <bits/stdc++.h> using namespace std; template<class T> class Array{ public: Array(int sizeOfArray=1){ arr = new T[sizeOfArray]; for(int i=0;i<sizeOfArray;i++){ arr[i] =

    -1熱度

    1回答

    這是我寫的用於開始使用類模板的代碼。 #include<iostream> using namespace std; template<class T> class Complex { T *real,*imag; public: Complex(T a) { real=new T; imag=new T; *real=a;

    0熱度

    2回答

    所以首先它不工作我創建了一個結構包含以下內容: template <class T> struct ListNode { unsigned int id; T data; ListNode *next_left; ListNode *next_right; }; 並配有一流的下列內容: template <class T> class List

    6熱度

    1回答

    考慮下面的代碼片斷: template <typename T> struct foo { foo(T) { } }; int main() { foo{0}; } 克++ 7愉快地創建foo類型的臨時對象,推導T = int。 鐺++ 5和6拒絕編譯的代碼: error: expected unqualified-id foo{0}; ^

    -1熱度

    1回答

    如果我們有像 template<class Type> class Field { .... }; 類模板現在,如果我宣佈Field類的一個對象作爲 Field <vector> velocityField; 所以其成員函數被繼承的形式繼承vector我的velocityField

    3熱度

    2回答

    我在我的C++類中有一個(應該是簡單的)任務。 以下是作業: 創建一個包含兩個私有數據成員的類模板:T * array和int size。該類使用構造函數根據輸入的大小分配數組。有成員函數允許用戶根據大小填充數組。另外,還有一個成員函數可以對數組進行排序並顯示排序的元素。使用析構函數刪除數組。開發main()來創建兩個對象來調用成員函數。結果,第一個對象將保存它的double類型的數組,而另一個將

    3熱度

    1回答

    我正在嘗試使用新的C++ 17類模板演繹,它似乎一切正常,直到我應用常量。這是我現在面臨的麻煩一個小例子: #include <type_traits> template <typename T> struct X { T _data; X(void) = default; X(T && data) : _data{ data } {} cons