postfix-operator

    4熱度

    4回答

    我整理了以下例子: #include <iostream> #include <iterator> using namespace std; class myiterator : public iterator<input_iterator_tag, int> { int* p; public: myiterator(int* x) :p(x) {} my

    5熱度

    4回答

    請考慮下面的代碼 #include <iostream> using namespace std; class Digit { private: int m_digit; public: Digit(int ndigit=0){ m_digit=ndigit; } Digit& operator++();//prefix

    0熱度

    1回答

    爲什麼在C++中前綴返回一個引用,但後綴返回一個值?

    10熱度

    3回答

    定義這種方式,我們既不能做++x++也不能做++x--。但在另一方面,無論(++x)++和(++x)--是有用的表達式:(++x)++增量x由兩個並返回「中間」的值,而(++x)--實質上等同於x+1但完全避免了打電話operator+,這是非常有用的,有時。 那麼爲什麼優先級沒有被定義爲++x++自動擴展到(++x)++而不是++(x++)?對於後者我有一些不明白的含義,還是僅僅將優先級保持爲一

    0熱度

    2回答

    我想重載' - '後綴操作符。我有這樣的代碼: class Counter { private: int count; public: Counter() { count = 0; } Counter(int c) { count = c; } void setCount(int c) { count = c; }

    2熱度

    1回答

    我已經提供了下面的代碼。當我重載一個重載的postfix操作符時,編譯器會拋出錯誤。它可以在重載的前綴運算符上正常工作。錯誤 error: no match for ‘operator<<’ in ‘std::cout << cDigit.Digit::operator++(0)’ 代碼 #include <iostream> using namespace std; class Di

    2熱度

    5回答

    我在寫一個簡單的字符串連接程序。 該程序以我發佈的方式工作。但是,我首先使用下面的代碼來編寫代碼來查找字符串的末尾: while (*s++) ; 但是,該方法不起作用。我傳給它的字符串沒有正確複製。具體來說,我試圖將「abc」複製到保存「\ 0」的char []變量中。 從閱讀C K & R書,它看起來應該工作。該緊湊形式應採取以下步驟。 * S與 '\ 0' 相比 s指向下一個地

    3熱度

    2回答

    現在我剛開始使用pyparsing來解析簡單的後綴表達式。目前,我得到了這個遠: from pyparsing import * integer = Word(nums) op = Word("+-*/^", max=1) space = Word(" ") expr = Word(nums)+space+Word(nums)+space+op parsed = expr.parseSt

    8熱度

    9回答

    我從Java官方教程閱讀前綴和後綴++ - 有不同的優先級: 後綴:EXPR ++ expr-- 一元:++ expr --expr + expr -expr〜! Operators 根據教程,不應該這 d = 1; System.out.println(d++ + ++d); 打印出圖6(d++使得d 2,++d使得3)代替4-? 我知道++d說明中被事先評估,但如果d++具有更高的優先級,然後

    6熱度

    1回答

    需要使用後綴分隔符來表示源代碼中使用的常量類型,例如L代表long。然而,短褲和字節沒有分隔符,所以我需要顯式轉換,像這樣的恆定值: short x = (short)0x8000; 我在想,如果Java的需要在編譯的字節碼額外的步驟,實際上是從一個整數類型轉換這個簡短的,還是它知道這將符合一個詞,並使用常數?否則,有沒有辦法我可以像這些後綴數字來表示短或字節?