簡體   English   中英

重載時如何在 cout 語句中使用移位運算符

[英]how to use shift operator in cout statement as it is overloaded

我對 C++ 很陌生,我知道移位運算符在 C++ 中是重載的。 但是因為我們可以在 C 中的 printf 內部進行移位操作,所以我們可以在 cout 語句中進行移位操作。

嗯,試試吧...

#include <iostream>

int main() {
    int k = 1;
    std::cout << (k << 1) << std::endl;  // Correct shifting - notice the parentheses
    std::cout << k << 1 << std::endl;    // Wrong
    return 0;
}

輸出:

2
11

這里重要的是用於<<運算符的變量類型。

括號導致它是int << int這是按位移位。 如果沒有括號,它將是ostream << int ,它將把int寫入流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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