相关疑难解决方法(0)

restrict关键字在C++中的含义是什么?

我总是不确定,在C++中,restrict关键字是什么意思?

是否意味着赋予函数的两个或更多指针不重叠?还有什么意思?

c++ restrict-qualifier

179
推荐指数
5
解决办法
10万
查看次数

需要关于Rust的细胞和参考计数类型的整体解释

Rust标准库中有几种包装类型:

据我了解,这些是包装器,提供了比简单参考更多的可能性.虽然我理解一些基础知识,但我看不到整体情况.

他们到底做了什么?细胞和参考计数家族是否提供正交或类似的特征?

rust

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

在变量名之前和":"之后放置"mut"有什么区别?

这是我在Rust文档中看到的两个函数签名:

fn modify_foo(mut foo: Box<i32>) { *foo += 1; *foo }
fn modify_foo(foo: &mut i32) { *foo += 1; *foo }
Run Code Online (Sandbox Code Playgroud)

为什么不同的位置mut

似乎第一个函数也可以声明为

fn modify_foo(foo: mut Box<i32>) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

variables syntax reference mutable rust

51
推荐指数
3
解决办法
5734
查看次数

为什么变量的可变性没有反映在 Rust 的类型签名中?

据我了解,可变性并未反映在变量类型签名中。例如,这两个引用具有相同的类型签名&i32

let ref_foo : &i32 = &foo;
let mut ref_bar : &i32 = &bar;
Run Code Online (Sandbox Code Playgroud)

为什么会这样?这似乎是一个非常重大的疏忽。我的意思是,即使是 C/C++ 也更const明确地做到了这一点,有两个来表示我们有一个const指向const数据的指针:

const int * const ptr_foo = &foo;
const int * ptr_bar = &bar;
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来思考这个问题?

pointers reference rust

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