小编use*_*982的帖子

C++多态性:从父类到子类

在C++中我们可以将子类指针转换为父类,但是有没有办法将它转换回来:从父类获得,从子类获得,给孩子类回来?

我的意思是:

class Parent
{
    ...
};

class Child : public Parent
{
    ...
};

int main(int argc, char const *argv[])
{
    Child* child = new Child();
    Parent* parent = child;
    Child* old_child = parent; // how to do this??
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢您的回答.

c++ oop polymorphism

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

Python两个列表列表shuffle

我有两个清单:

a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
Run Code Online (Sandbox Code Playgroud)

我需要得到这样的东西:

c = [1, 5, 2, 6, 3, 7, 4, 8]
Run Code Online (Sandbox Code Playgroud)

我使用这个解决方案:

c = list(reduce(lambda x, y: x + y, zip(a, b)))
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

python list

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

Python列表:用第(n + 1)个交换每第n个值

做这个的最好方式是什么:

>>> replace2([1, 2, 3, 4, 5, 6])
[2, 1, 4, 3, 6, 5]
Run Code Online (Sandbox Code Playgroud)

python list

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

C++ float和int division奇怪的行为

在C++ Qt Library中有一个函数QRect screenGeometry().QRect有功能int width()int height().如果我将此函数的结果保存到int变量,那么除法效果很好,但如果我直接在除法中使用此函数之一,则会产生奇怪的结果:

QRect scr_size = QApplication::desktop()->screenGeometry();
int a = 1280;
int b = 720;
int c = scr_size.width();
int d = scr_size.height();
qDebug() << c; // 1920
qDebug() << d; // 1080
qDebug() << ((float(a) / b) - (float(c) / d)); // 0
qDebug() << ((float(a) / b) - (float(scr_size.width()) / d)); // 1.32455e-08
qDebug() << ((float(a) / b) - (float(c) / scr_size.height())); // 1.32455e-08
qDebug() …
Run Code Online (Sandbox Code Playgroud)

c++ qt

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

Python和C#中的按位左移

为什么Python和C#中的按位左移有不同的值?

蟒蛇:

    >>> 2466250752<<1
    4932501504L
Run Code Online (Sandbox Code Playgroud)

C#:

    System.Console.Write((2466250752 << 1).ToString()); // output is 637534208
Run Code Online (Sandbox Code Playgroud)

c# python bit-manipulation

0
推荐指数
2
解决办法
1063
查看次数

标签 统计

python ×3

c++ ×2

list ×2

bit-manipulation ×1

c# ×1

oop ×1

polymorphism ×1

qt ×1