小编som*_*hpc的帖子

由Rnd生成的随机数序列在C中是否保证始终相同,对于同一种子?

我只是想知道rand(http://www.cplusplus.com/reference/cstdlib/rand/)函数是否会生成相同的随机数序列,同时使用相同的种子,在不同的 libc实现上运行,甚至不同的编译器和操作系统(win,linux).

我使用各种编译器(g ++ 4.8,g ++ 5.1和clang)进行了一些测试,似乎答案是肯定的,但我没有发现任何"正式"提到C的随机数生成中使用的PRNG算法(http://pubs.opengroup.org/onlinepubs/009604599/functions/rand.html),还是这些都应该在标准中提到的...

c random

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

Android 视图绑定 onClickListener 未被调用

我正在更新一个应用程序,我读到现在处理视图的推荐方法是使用视图绑定。我按照说明进行操作,但是遇到了一些问题:

添加点击侦听器的效果如下:

((LinearLayout) findViewById(R.id.btn_login)).setOnClickListener(v -> {
    Log.v(TAG, "findViewById press");
});
Run Code Online (Sandbox Code Playgroud)

而以下内容则不然

binding.btn_login.setOnClickListener(v -> {
   Log.v(TAG, "View Binding press");
});

Run Code Online (Sandbox Code Playgroud)

文档说应该。我想在一个新项目上尝试这个,以确保它在某种程度上与应用程序配置无关,但我得到了相同的结果 - 它不起作用。

我像这样初始化它:

public class Login extends BaseClassFragmentActivity {
    ActivityLoginBinding binding;
    private final String TAG = "[LOGIN]";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        binding = ActivityLoginBinding.inflate(getLayoutInflater());
    }
}
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

android android-viewbinding

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

如何遍历第二个数字

阅读文档时,我注意到一句话:“ Rust没有C样式的循环。”。因此,我想知道如何使循环等效for(i = 0; i < 10; i += 2) { }

我能想到的方式是:

for i in 0..10 {
    if i % 2 == 0 {
        //Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至:

let i = 0;
loop {
    if i < 10 {
        //Do stuff
        i += 2;
    } else {
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我不确定这是最好的方法,尤其是因为它确实很冗长。有没有更好的办法?我猜想它将与迭代器,但我不确定如何做到这一点。

loops rust

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

标签 统计

android ×1

android-viewbinding ×1

c ×1

loops ×1

random ×1

rust ×1