理解这行C++指针代码
to understanding this line of C++ pointers code
我正在阅读一个关于指针的示例代码,但我不明白开发人员为什么要写这个:
如果DD是我们定义的类,为什么它有效?
DD *g = 0,h(ARGUMENTS_HERE);
但这不起作用(没有零(?
DD *g = h(ARGUMENTS_HERE);
给定所提供的最小信息,如果必须猜测的话,我会说第一行有效,因为g被定义为指向DD的指针,并初始化为0或null。逗号后缀表示h(带参数(被定义为返回DD对象(而不是指向对象的指针,实际对象(的函数(带参数
第二行失败了,因为你试图将g初始化为函数h的返回值。由于我们不知道h实际上是如何定义的,我猜它要么没有定义,要么已经定义但没有返回指向DD的指针。
您在这里声明了两个不同的变量,一个指向DD的指针和一个DD对象。在第二个例子中,您试图分配h,它可能不存在,或者是您试图分配给指针的对象。
相关文章:
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 如何防止C++遗留代码中的挂起指针
- 理解这行C++指针代码
- 为什么我们不在下面给出的代码中使用指针来实例化C++的实体对象?
- 为什么我的代码在指针方面停止运行?
- 以下与指针相关的代码的输出是什么?
- C++指针问题:如何修复这些代码中的错误?
- 如何使用指针直接从托管代码中的非托管代码中读取矢量数据
- 为什么下面的代码段返回指针指向的值而不是指针的地址?
- 使用指针向量(带代码)C++(以及对其使用的便利性的怀疑)时出现问题
- 为什么从 constexpr 引用生成的程序集代码与从 constexpr 指针生成的程序集代码不同?
- 由于指针算法错误,代码在 memcpy 中崩溃
- 为什么通过定义另一个指针单元格,整个代码停止工作?
- 使用指针编译代码后,.cpp文件将变为随机字符
- OpenCV如何处理Mat作为指针来加速代码
- 我的指针代码 c++ 中的分段错误(核心转储)
- 这两个指针代码有什么区别
- 由于没有明显的原因,请继续在C 的指针代码上遇到错误
- C++:传递和返回指向数组的指针-代码不起作用
- 如何将 Visual Studio 配置为在调试时'skip'智能指针代码?