小编Sug*_*ara的帖子

"this()"方法是什么意思?

我遇到了这段代码,有一条我不放弃了解它的含义或它正在做什么.

public Digraph(In in) {
    this(in.readInt()); 
    int E = in.readInt();
    for (int i = 0; i < E; i++) {
        int v = in.readInt();
        int w = in.readInt();
        addEdge(v, w); 
    }
}
Run Code Online (Sandbox Code Playgroud)

我明白了什么this.method()this.variable有,但什么是this()

java constructor this constructor-overloading

43
推荐指数
3
解决办法
4万
查看次数

如何在本地安装Haskell Stack?

我在学校服务器上工作,我需要安装Haskell的堆栈.在README文件和网站上,我找不到如何在本地安装.如果我不是sudo用户,我该怎么办?

haskell haskell-stack

5
推荐指数
1
解决办法
526
查看次数

使用相机图像从 Pyzbar 检测二维码

我在使用 Pyzbar 检测二维码时遇到问题。在完美条件下,我能够使用原始 png 图像检测二维码。但是,当我从相机进行视频捕获,然后将该帧保存为图像时,pyzbar 无法检测到 QR 码。

例如,这有效

在此处输入图片说明

[Decoded(data=b'GOAL', type='QRCODE', rect=Rect(left=16, top=16, width=168, height=168))]
Run Code Online (Sandbox Code Playgroud)

但即使在我手动裁剪周围环境以仅显示二维码后,以下内容也不会。

在此处输入图片说明

[]
Run Code Online (Sandbox Code Playgroud)

对于这两个图像,我正在使用

decode(image, scan_locations=True)
Run Code Online (Sandbox Code Playgroud)

我想知道我需要做什么才能让 pyzbar 解码我的二维码图像?

python opencv qr-code image-processing

5
推荐指数
1
解决办法
9589
查看次数

Python截断为32位

如何将返回值截断为32位?我有以下代码,

def rotate_left(input, shift):
    return hex((input << shift) | (input >> (32 - shift)))
Run Code Online (Sandbox Code Playgroud)

我希望返回值是

"0x000000A"而不是"0xA0000000A"打电话时rotate_right(0xA000000)

python bit-manipulation

3
推荐指数
1
解决办法
1633
查看次数

Java将此类与该类进行比较以获得相等性

我的任务是覆盖方法equals().我有一些关注使用Stack12<E> that = (Stack12<E>)o;o instanceof Stack12.我很奇怪他们是不好的练习,特别是我that在for-loop中的使用感觉有点不对我.

有没有其他方法可以将此类与其他对象进行比较?或者我的比较方法足够强大?

  public boolean equals(java.lang.Object o){
  if(o == this) return true;
  if(o == null || !(o instanceof Stack12)){
     return false;
  }

  Stack12<E> that = (Stack12<E>)o;
  if(this.size != that.size || this.capacity != that.capacity ){
     return false;
  }
  for(int i = 0; i < this.size; i++){
     if( that.stack[i] != this.stack[i] ){
        return false;
     }
  }
  return true;
 }
Run Code Online (Sandbox Code Playgroud)

java compare equality

2
推荐指数
1
解决办法
406
查看次数

图像文件的C ++ ifstream

我在将图像文件读入缓冲区时遇到麻烦。当我读取普通的ascii文件时,一切都很好,但当涉及到图像文件时,我怀疑图像文件中是否有\ 0字符?

我需要输入图像文件,将其解析为16KB的块以进行哈希处理,但是当我这样做时

 std::ifstream ifs;
 ifs.open(file_name, std::ifstream::binary | std::ifstream::in);
 .     
 .
 .
 std::string block;
 char buffer[BLOCK_SIZE];
 .
 .
 .
 memset(buffer, 0, BLOCK_SIZE);
 ifs.read(buffer, BLOCK_SIZE);
 block = buffer;

 std::cout << i << " | block size: " << block.length() 
           << " | buffer size: " << strlen(buffer) << std::endl;

 hash = sha256(block); // string type required for openssl's function
Run Code Online (Sandbox Code Playgroud)

我懂了

0 | block size: 4 | buffer size: 4
1 | block size: 16 | buffer size: 16
2 | block …
Run Code Online (Sandbox Code Playgroud)

c++ fstream image

2
推荐指数
1
解决办法
2643
查看次数

结构的变量包含什么?

说我有这个简单的程序

#include <iostream>
using namespace std;

struct teststruct
{
   int n;
   long l;
   string str;
};

int main()
{
   teststruct wc;

   wc.n = 1;
   wc.l = 1.0;
   wc.str = "hello world";

   //cout << wc << endl; // what is wc by itself?
   cout << &wc;  // contains the memory address to the struct?
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想了解wc中的内容?当我声明一个变量名为wc的结构类型时; 什么是wc?它是指向内存地址的指针吗?我试图cout内容,但代码给了我一个错误.你能澄清一下wc是什么吗?

c++ variables struct types

1
推荐指数
2
解决办法
110
查看次数

用于比较的Shell脚本算术运算符

我正在尝试学习shell脚本,并在我遇到算术比较这个问题时遵循tutorialspoint上的教程.

$VAL1=10
$VAL2=20
$VAL3=10

if [ $VAL1 == $VAL2 ]
then
    echo "equal"
else
    echo "not equal"
fi
Run Code Online (Sandbox Code Playgroud)

但我得到了一个[: ==: unexpected operator我不知道为什么比较运算符不起作用.我知道我也可以使用有理算子,但我想知道为什么'=='没有定义.

bash shell scripting comparison operators

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

C++ fstream 打开

我能够创建文件,例如

f.open("file")
f.open("./path/file")
f.open("../path/file")
Run Code Online (Sandbox Code Playgroud)

但不是

f.open("~/path...)
f.open("/path...)
Run Code Online (Sandbox Code Playgroud)

我如何获得工作的绝对路径?

c++ io fstream filepath

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

Verilog:在赋值的左侧必须有一个可变数据类型

我在组合分配方面遇到了麻烦.我不明白为什么我不能使用总是组合结构设置我的输出变量.当我使用assign时,我没有得到赋值错误.

我认为分配和总是@(*)都意味着阻止(组合分配)

module control_unit(input wire [31:0] instruction
                   ,output wire RegDst
                   ,output wire ALUSrc
                   ,output wire RegWrite
                   ,output wire MemRead
                   ,output wire MemWrite
                   ,output wire MemToReg
                   ,output wire Branch
                   );

   wire [5:0] opcode;

   assign opcode  = instruction[31:26];

   always@(*) begin
      case(opcode)
            6'b000000: begin              // r-type
               RegDst   = 1'b1;
               ALUSrc   = 1'b0;
               RegWrite = 1'b1;
               MemRead  = 1'b0;
               MemWrite = 1'b0;
               MemToReg = 1'b0;
               Branch   = 1'b0;
            end
           .
           .
           .                    
            default: begin
               RegDst   = 1'b0;
               ALUSrc   = 1'b0;
               RegWrite = 1'b0;
               MemRead …
Run Code Online (Sandbox Code Playgroud)

verilog synthesis variable-assignment quartus

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