标签: operator-keyword

在Java中,按位AND,按位包含或问题

我在项目中有几行代码,我看不到...的价值

buffer[i] = (currentByte & 0x7F) | (currentByte & 0x80);
Run Code Online (Sandbox Code Playgroud)

它从文件中读取文件缓冲区,存储为字节,然后传输到缓冲区[i],如图所示,但我无法理解总体目的是什么,任何想法?

谢谢

java byte bit-manipulation operator-keyword

11
推荐指数
1
解决办法
5867
查看次数

c ++指向运算符的指针

我想用c ++(或c ++ 0x)编写一个指针,指向一个类的运算符,让我们说A或B.有什么方法可以做到吗?

当然有一种语法

int (A::*_p) ();
Run Code Online (Sandbox Code Playgroud)

但它并没有解决这个问题.我想制作通用指针,而不是为它指定基类 - 只有"运算符函数"的指针

#include <thread>
#include <iostream>

using namespace std;

class A
{
public:
    int operator()()
    {
        return 10;
    }
};

class B
{
public:
    int operator()()
    {
        return 11;
    }
};

int main()
{
 A a;
 int (*_p) ();
 _p = a.operator();
 cout << _p();

 B b;
 _p = b.operator();
 cout << _p();
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers function-pointers operator-keyword c++11

11
推荐指数
1
解决办法
4619
查看次数

为什么::(范围)与空的左操作数一起使用?

我现在已经看过几次了,我一直在摸不着头脑,想知道为什么......

例如:(http://www.codeguru.com/forum/showthread.php?t=377394)

void LeftClick ( )
{  
  INPUT    Input={0};
  // left down 
  Input.type      = INPUT_MOUSE;
  Input.mi.dwFlags  = MOUSEEVENTF_LEFTDOWN;
  ::SendInput(1,&Input,sizeof(INPUT));

  // left up
  ::ZeroMemory(&Input,sizeof(INPUT));
  Input.type      = INPUT_MOUSE;
  Input.mi.dwFlags  = MOUSEEVENTF_LEFTUP;
  ::SendInput(1,&Input,sizeof(INPUT));
}
Run Code Online (Sandbox Code Playgroud)

这个例子在没有::(范围)运算符的情况下工作,为什么它们甚至在那里呢?

c++ scope operator-keyword

11
推荐指数
1
解决办法
2532
查看次数

在if语句中使用按位和内部

在C中,我可以写一个if语句

if (firstInt & 1)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在Java中做同样的事情时,编译器会告诉我"不兼容的类型"并说我需要一个boolean而不是一个int.有没有办法在Java中编写C代码?

c java if-statement bit-manipulation operator-keyword

11
推荐指数
1
解决办法
6573
查看次数

dart是否支持运算符重载

我读到Dart不支持函数重载.它是否支持运算符重载.如果是,那将是善意的,并告诉我如何在一个简单的例子中如何完成它.还有什么优点等我是编程新手.谢谢.

overloading function operator-keyword dart

11
推荐指数
4
解决办法
7774
查看次数

在operator <<中执行的顺序

我很难理解下面代码中的调用顺序.我期待看到下面的输出

    A1B2
Run Code Online (Sandbox Code Playgroud)

虽然我可以看到我得到的输出是

    BA12
Run Code Online (Sandbox Code Playgroud)

我认为这个电话std::cout<< b->fooA() << b->fooB() << std::endl相当于电话

  std::cout.operator<<( b->fooA() ).operator<< ( b->fooB() )
Run Code Online (Sandbox Code Playgroud)

但我可以看到情况并非如此.你能帮助我更好地理解它是如何运作的以及与全球的关系operator<<吗?这是最后一次调用这个序列吗?

问候

AFAG

#include <iostream>

struct cbase{
    int fooA(){
        std::cout<<"A";
        return 1;
    }
    int fooB(){
        std::cout <<"B";
        return 2;
    }
};

void printcbase(cbase* b ){
    std::cout << b->fooA() << b->fooB() << std::endl;
}

int main(){
    cbase b;
    printcbase( &b );
}
Run Code Online (Sandbox Code Playgroud)

c++ cout stream ostream operator-keyword

11
推荐指数
3
解决办法
2252
查看次数

试图了解Monads.>>运营商

我是haskell的新手,我正在通过LearnYouAHaskell学习.我只是无法理解(>>)运营商背后的原因.
默认实现是:

(>>) :: (Monad m) => m a -> m b -> m b  
m >> n = m >>= \_ -> n 
Run Code Online (Sandbox Code Playgroud)

这是(据我所知)忽略第一个值并返回第二个值.但是,从LearnYouAHaskell中的示例来看,这种情况发生了:

ghci>没什么>>只是3
没什么
ghci>只是3 >>什么都
没有

所以它不会忽略第一个值.然而,通过一些研究,我从这里找到了这个引用

>> function绑定运算符忽略其第一个操作的值,并仅作为整体结果返回其第二个操作的结果.

所以我对这个运算符的使用感到困惑,我想问两件事:

  1. 什么它实际上做什么?
  2. 什么时候有用?

monads haskell operator-keyword

11
推荐指数
3
解决办法
452
查看次数

使用逗号运算符和可变参数模板参数包折叠表达式

#include<iostream>
using namespace std;

template<typename ...Args>
void output_argus(Args&&... args) 
{
    ((cout << args << '\n'), ...);    // #1
    (... , (cout << args << '\n'));   // #2
}


int main()
{
    output_argus(1, "test", 5.6f);
}
Run Code Online (Sandbox Code Playgroud)

基于c ++ operator doc,','是一个从左到右的运算符.意思a, b, c, d是意义(((a, b), c),d)不是(a, (b, (c, d))).如果a,b,c,d是陈述,这一点很重要.

但是,基于fold表达式doc,','应该使用一元左折.

我的问题为什么我的代码中的两个语句都有效?不应该只#2工作吗?以及如何理解...args.和嵌套的折叠表达式?

c++ fold operator-keyword variadic-templates c++17

11
推荐指数
2
解决办法
699
查看次数

什么是:=运营商?

在某些编程语言中,我看到(例如):

x := y
Run Code Online (Sandbox Code Playgroud)

这个:=操作员通常被称为什么,它做什么?

syntax programming-languages operator-keyword colon-equals

10
推荐指数
4
解决办法
2万
查看次数

链接"是"运营商

python是否支持链接is运算符,如下所示?

a = None
b = None
a is b is None
Run Code Online (Sandbox Code Playgroud)

这个输出True,一些文档引用会很好.

python comparison comparison-operators operator-keyword

10
推荐指数
1
解决办法
496
查看次数