小编Gui*_*rme的帖子

两次重载运算符

可以在 C++ 上重载同一个运算符两次吗?

当我尝试使用返回类型作为基础重载 + 运算符时,编译器会向我显示错误。

bigint.h:41:9: error: ‘std::string BigInt::operator+(BigInt)’ cannot be overloaded
bigint.h:40:9: error: with ‘BigInt BigInt::operator+(BigInt)’
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

。H:

BigInt operator + (BigInt);
string operator + (BigInt);
Run Code Online (Sandbox Code Playgroud)

.cc:

BigInt BigInt::operator + (BigInt M){

    if (this->number.size() != M.number.size())
        fixLength (this->number, M.number);

    // Call Sum;
    this->number = Sum (this->number, M.number);

    return (*this);
}

string BigInt::operator + (Bigint M){

    // Call BigInt overload +;
}
Run Code Online (Sandbox Code Playgroud)

编辑:显然我不能使用返回类型作为基础重载同一个运算符两次。建议?

c++

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

在verilog中解决无限循环

我在 verilog 中的 for 循环语句有一些问题。

reg [31:0] i;

initial begin
  for (i=2; i > 0; i = i - 1) begin
    $display ("%d\n", i);
  end
end
Run Code Online (Sandbox Code Playgroud)

这段代码运行没有任何问题,但是如果我将中间条件更改为 i >= 0,则程序会重复运行而不会停止。

我不明白为什么会这样!

PS:完整代码可以在这里找到:http : //pastebin.com/3LX0Mkg0

for-loop verilog

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

在haskell中调用实例"method"

我读这本书从第一原理哈斯克尔编程和建议的运动之一,笔者要求我们写一个类的实例TooMany为(民一,TooMany一)=>(A,A),这应该比较,如果两个数字的总和大于42.

这是我的代码:

class TooMany a where
    tooMany :: a -> Bool
instance TooMany Int where
    tooMany n = n > 42
instance (Num a, TooMany a) => TooMany(a, a) where
    tooMany (a, b) = tooMany (a + b)
Run Code Online (Sandbox Code Playgroud)

我认为我的代码是正确的,但我不知道如何编写表达式来测试它.对于TooMany Int,我只是在REPL中编写了tooMany(10 :: Int),就是这样,我有一个布尔答案.

任何人都可以给我一个暗示吗?

haskell

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

在 Pandas DataFrame 的每一行中找到最大的字符串

我是 Pandas 的新手,我试图为 DataFrame 中的每一行获取最大的字符串。

import pandas as pd
import sqlite3
authors = pd.read_sql('select * from authors')

authors['name']
...
12       KRISHNAN RAJALAKSHMI
13                        J O
14                      TSIPE
15                    NURRIZA
16                HATICE OZEL
17                   D ROMERO
18                  LLIBERTAT
19                        E F
20               JASMEET KAUR
...
Run Code Online (Sandbox Code Playgroud)

我期望的是在每个 author['name'] 行中取回最大的字符串:

...
12                RAJALAKSHMI
13                          J
14                      TSIPE
15                    NURRIZA
16                     HATICE
17                     ROMERO
18                  LLIBERTAT
19                          E
20                    JASMEET
...
Run Code Online (Sandbox Code Playgroud)

我试图用空格分割字符串并应用(最大),但它不起作用。似乎熊猫没有对每一行应用 max 。

authors['name'].str.split().apply(max)

# or
authors['name'].str.split().apply(lambda x: max(x))

# or

def get_max(x): …
Run Code Online (Sandbox Code Playgroud)

python string split max pandas

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

操作系统和体系结构之间的 FILE 结构是否一致?

对于以下 C 代码片段,LLVM 将生成下面的 IR。

#include <stdio.h>
#include <stdlib.h>

int main(){
  printf("Hello world\n");
  fflush(NULL);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)
; ModuleID = 'a.c'
source_filename = "a.c"
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.15.0"

%struct.__sFILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
%struct.__sFILEX = type opaque
%struct.__sbuf = type { i8*, …
Run Code Online (Sandbox Code Playgroud)

c llvm llvm-ir

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

指针声明之间的差异

这两个声明之间有什么不同吗?

int* a;
int *a;
Run Code Online (Sandbox Code Playgroud)

或者这两个声明是相同的(指向整数的指针)?

c pointers declaration

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

标签 统计

c ×2

c++ ×1

declaration ×1

for-loop ×1

haskell ×1

llvm ×1

llvm-ir ×1

max ×1

pandas ×1

pointers ×1

python ×1

split ×1

string ×1

verilog ×1