dereference相关内容

取消引用的InputIterator的地址? istream_iterator的情况

我有一个遗留代码,其中为指针定义了接口。 我正在尝试适应某些功能以采用迭代器,例如 允许使用InputIterator取消引用的元素的地址,例如 istream_iterator ? 结果是临时的,在通话期间必须存储在内存中,但我不确定。 下面的示例使用 double ,但是类型可能更复杂(大)。 #include #include ..
发布时间:2020-10-21 00:00:35 C/C++开发

为什么对数组的嵌套引用不会强制切片?

我阅读了 Rust的确切自动引用规则是什么? 从头到尾,但我仍然对从数组到切片的强制转换有疑问。 让我们考虑以下代码: let arr:& [i32; 5] =&& [1、2、3、4、5]; // //让arr:& [i32] =&& [1、2、3、4、5]; //错误;预期切片,找到参考 我希望&& [1、2、3、4、5] 具有类型&& [i32; 5] 并取消 ..
发布时间:2020-10-20 23:59:21 其他开发

自动取消引用和强制取消引用之间有什么关系?

经过讨论,我现在有些困惑自动反引用和 deref强制之间的关系。 看来,术语“自动取消引用”仅在以下情况下适用取消引用的目标是方法接收者 ,而看来,“ deref强制”一词适用于函数参数及其需要的所有上下文。 我认为取消引用并不总是涉及到deref强制,但是我不确定:取消引用是否总是使用某些 Deref :: deref 特征实现? 如果是,是 T的实现者:Deref ..
发布时间:2020-10-20 23:59:13 其他开发

为新类型实现Deref是否被认为是不好的做法?

我经常使用newtype模式,但是我厌倦了编写 my_type.0.call_to_whatever(...)。我很想实现 Deref 特质,因为它允许编写更简单的代码,因为在某些情况下,例如 eg em>: 使用std :: ops :: Deref; 类型基础= [i32; 256]; struct MyArray(Underlying); 表示MyArray的Deref ..
发布时间:2020-10-20 23:59:10 其他开发

Rust的确切自动引用规则是什么?

我正在使用Rust进行学习/实验,并且在用这种语言找到的所有优雅之处中,都有一种使我感到困惑的特质,似乎完全不合时宜。 在进行方法调用时,Rust自动取消引用指针。我进行了一些测试以确定确切的行为: 结构X {val:i32} $ b X的$ b impl std :: ops :: Deref { type Target = i32; fn deref(& self)-> & ..
发布时间:2020-10-20 23:59:08 其他开发

如何“数组解引用"?从PHP 7.2.0版本开始处理boolean/integer/float/string类型的标量值?

我正在使用PHP 7.2.我从PHP手册 arrays章节中碰到了以下注释 数组无声地解引用了不是字符串的标量值 产生 NULL ,即不发出错误消息. 我了解如何取消引用数组文字,但是我无法理解“数组取消引用"如何处理布尔值/整数/浮点数/字符串类型的标量值? 如果您查看PHP手册本身的代码示例,则会发现矛盾之处,因为它不是整数类型的值,并非根据手册默默地产生NULL. ..
发布时间:2020-07-17 23:10:50 PHP

尝试push_back()时,向量迭代器未解除引用错误

当我的应用程序因VS的错误消息而崩溃时,我遇到了一个问题:“调试断言失败!(...)表达式:矢量迭代器不可解除". 问题是,它是在使用vector的push_back期间发生的. 这是代码.我决定将这是我的BigInt库,作为练习来实现.该错误隐藏在我(用于测试BigInt的)创建的TestBigInt类中.公认的代码很长,但是我将bug缩小到了其中的一小部分. 这是我给错误代码的输入 ..
发布时间:2020-06-29 20:39:14 C/C++开发

无法增加已取消引用的指针的值

我似乎对一个简单的程序有问题,该程序应该计算文件中的各种字符类型.即使文件根本不为空,它也始终打印零.我认为这与指针有关,可能是错误的.我还想知道在这种情况下是否需要初始化变量? // fun.h void count_char(FILE *f, unsigned *newl, unsigned *let, unsigned *num, unsigned *spec_char); // ..
发布时间:2020-05-28 23:22:28 其他开发

C:通过指针访问第二个argv

由于我是C语言的新手,所以我还没有获得有关指针的某些知识.我想检查命令行参数是否为整数,但是否在一个单独的函数中,以便我传递argv数组的指针. int main(int argc, char* argv[]){ if(check(argv)){ // Do stuff to argv[1] } } int check(char* p){ // Te ..
发布时间:2020-05-28 23:16:51 其他开发