相关疑难解决方法(0)

常规演员与static_cast与dynamic_cast

我已经编写了近二十年的C和C++代码,但这些语言的一个方面我从未真正理解过.我显然使用常规演员表,即

MyClass *m = (MyClass *)ptr;
Run Code Online (Sandbox Code Playgroud)

到处都是,但似乎有两种其他类型的演员,我不知道其中的区别.以下代码行之间有什么区别?

MyClass *m = (MyClass *)ptr;
MyClass *m = static_cast<MyClass *>(ptr);
MyClass *m = dynamic_cast<MyClass *>(ptr);
Run Code Online (Sandbox Code Playgroud)

c++ pointers casting

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

为什么我总是使用rand()得到相同的随机数序列?

这是我第一次用C语言尝试随机数(我想念C#).这是我的代码:

int i, j = 0;
for(i = 0; i <= 10; i++) {
    j = rand();
    printf("j = %d\n", j);
}
Run Code Online (Sandbox Code Playgroud)

使用此代码,每次运行代码时都会得到相同的序列.但是如果我srand(/*somevalue/*)for循环之前添加,它会生成不同的随机序列.有谁能解释为什么?

c random

50
推荐指数
6
解决办法
11万
查看次数

标签 统计

c ×1

c++ ×1

casting ×1

pointers ×1

random ×1