C ++ - 垂直线运算符。它有什么作用?

时间:2013-10-05 00:40:07

标签: c++ operators

当您将标志传递给函数时,使用运算符“|”的是什么做什么,它的名字是什么?我将如何在自己的功能中实现这一点?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

这是按位OR。例如:

(1 | 2) == 3
(5 | 3) == 7

答案 1 :(得分:1)

嗯,这取决于。垂直线运算符|绘制一条垂直线,非常类似于水平线运算符' - '绘制一条水平线。还有弟兄||=分别绘制两条平行的垂直或水平线:

#include <algorithm>
#include <iostream>
#include <iterator>

struct graphic
{
    void operator-(int n) {
        *std::fill_n(std::ostream_iterator<char>(std::cout), n, '-')++ = '\n';
    }
    void operator=(int n) {
        *std::fill_n(std::ostream_iterator<char>(std::cout), n, '=')++ = '\n';
    }
    void operator|(int n) {
        std::fill_n(std::ostream_iterator<char>(std::cout, "\n"), n, '|');
    }
    void operator||(int n) {
        std::fill_n(std::ostream_iterator<char const*>(std::cout, "\n"), n, "||");
    }
};

int main()
{
    graphic g;
    g - 10;
    g = 10;
    g | 4;
    g || 4;
}