subscript-operator

    2熱度

    4回答

    我想做一個包裝std :: map的類,並檢查以確保這些鍵是已批准的有效字符串的一個,並且還初始化了映射所有批准的有效字符串的默認值。我有問題讓下標操作工作,特別是它的常量版本。 這裏是我的類原型代碼: #include <set> #include <string> #include <map> class foo { public: foo() {} co

    2熱度

    7回答

    是否可以定義一個超過一個參數的超載operator[]?也就是說,我可以如下定義operator[]: //In some class double operator[](const int a, const int b){ return big_array[a+offset*b];} 以後用它是這樣嗎? double b=some_obj[7,3];

    2熱度

    1回答

    我對C++非常陌生,所以這可能是一個非常不好的問題,但我在找到解決方案時遇到了問題。我搜索了一個答案,並且TA似乎具有邏輯上等同但神祕的工作代碼,並且我們無法弄清楚原因。 我想在我的頭文件中聲明一個數組(名爲'數組'),並且我不斷收到一些奇怪的錯誤。當我公開聲明它爲「int * array」時或「int array [];」,構造函數告訴我這是非靜態數據成員的無效使用。當我聲明它是私有的時,它會抱

    1熱度

    4回答

    美好的一天傢伙。 我有以下的結構和類, template <class T> struct Node { T DataMember; Node* Next; }; template <class T> class NCA { public: NCA(); ~NCA(); void push(T); T po

    3熱度

    6回答

    可能需要超載下標運算符的場景是什麼? 什麼是assert函數與此有關?我在大多數情況下看到使用assert的下標重載,需要對此進行解釋。

    0熱度

    1回答

    我有一個類ν,其動態地分配雙打的陣列。條目是一個指向這個數組的開始的指針。間距讓我跳過條目,例如,如果我想只考慮每一個第三項,間距是3 double& v::operator[] (const int n) { return entries[n*spacing]; } 這個下標操作編譯,但導致堆損壞。基於我的網絡搜索,我認爲Visual Studio將臨時的「entries [n

    1熱度

    3回答

    我有下面的變量,我需要使用,並且必須編寫自己的包裝器才能完成作業。我超越了賦值(因爲我將不得不使用這個包裝器),並且想要在包裝器中重載下標操作符,以便將它與雙指針數組一起使用。我的意思的代碼是這樣的: 我有什麼: 從給定的標題爲庫: typedef struct { // A pixel stores 3 bytes of data: byte red; // intensity o

    0熱度

    1回答

    假設我有一個具有2個屬性的類X:i和j。 我想有: x = X((1,2,3),(2,3,4)) #this would set i to (1,2,3) and j to (2,3,4) 我現在想下標以下列方式工作: a, b = x[1,2] #a should now be 2 and b should now be 3 此刻我想這一點: def __getitem__(self,

    5熱度

    7回答

    我重載[]運算符在我的課間隔返回分鐘或秒。 但我不確定如何使用[]運算符將值分配給分鐘或第二個。 例如:我可以用這個語句 cout << a[1] << "min and " << a[0] << "sec" << endl; ,但我想重載[]運算符,這樣我就可以使用,甚至賦值分鐘或秒 a[1] = 5; a[0] = 10; 我代碼: #include <iostream> using

    0熱度

    1回答

    如果我想確定使用boost的數組(T)的下標運算符返回的類型,我需要使用哪種類型的簽名?請注意,我將使用它的數組不包含typedefs並且是第三方。 例子。我想確定: SomeArray<int> tmp(1); int& somevalue = tmp[0]; //would equate typename subscript_result<SomeArray<int> >::type so