pointers 相关问题

“指向”存储在内存中的另一个值的数据类型。指针变量包含某个其他实体(变量或函数或其他实体)的内存地址。此标记应用于涉及指针使用的问题,而不是引用。使用指针的最常见编程语言是C,C ++,Go和汇编语言。使用特定语言标记。其他有用的标签是描述指针使用的方法,函数,结构等。

进行指针操作时出现分段错误(核心转储)

尝试运行程序时出现分段错误(核心转储)。只是一些简单的指针操作,但我无法弄清楚问题所在。 int get_address_value(int* ptr) { 返回*pt...

回答 2 投票 0

为什么c++语法是&address=variable而不是&address=&variable?

我最近开始学习c++中的指针和引用,并且很难理解为什么引用的语法是&address =variable而不是&address=&va...

回答 2 投票 0

将 const char* 复制到 char 数组是如何工作的

我有一个代码,其中有一个缓冲区,我试图将 const 字符串复制到其中,如下所示: #包括 typedef 结构_BIGWORD { unsigned char Byte[53];//常量字符串的大小 }

回答 2 投票 0

Protobuf 将消息转换为指针

我有一个这样的程序-> 消息操作{ } 消息人{动作action = 1; } 我希望将 Person 中的操作字段转换为 golang 中的非指针结构。但是之后 编译它

回答 1 投票 0

为什么空 char 类型指针返回“â”作为输出?

当我将它与空的 char 变量一起返回时,为什么它现在返回“ä”? 这是我正在编写的代码。 #包括 int main(){ //声明和定义...

回答 1 投票 0

为什么空 char 类型指针返回“â”作为输出?而且,当我将它与空 char 变量一起返回时,为什么它现在返回“ä”?

这是我正在编写的代码。 #包括 int main(){ //声明并定义一个char数组,并将指针添加为其元素 /*一个存储有

回答 1 投票 0

如何将 char** 传递给需要 const char 指针的 const 数组的函数

如下所示,我想将 char** x 定义的变量以只读方式传递给函数。 一本参考书显示了线性搜索源代码,该代码对 char 定义的变量执行线性搜索...

回答 1 投票 0

如何将 char** 传递给需要 const char 指针数组的函数

如下所示,我想将 char** x 定义的变量以只读方式传递给函数。 一本参考书显示了线性搜索源代码,该代码对 char 定义的变量执行线性搜索...

回答 1 投票 0

C 语言,想要将 char **x 变量作为只读(const)传递给函数

如上所述,我想将 char **x 定义的变量传递给只读函数(照常为 const),并将其作为临时参数接收。 一本参考书展示了线性搜索源c...

回答 1 投票 0

我可以使用不带alignof的指针算术在结构体中相同类型的连续字段序列之间移动吗?

我知道还有其他类似的问题。我已阅读这些内容,但认为这个问题尚未得到解答。 我可以在连续的(声明序列中连续的)之间移动吗

回答 1 投票 0

对超出范围的堆栈分配变量的引用[重复]

根据我的理解,堆栈分配的变量在超出范围时会被丢弃。然而,返回对在堆栈上分配的变量的引用的概念和

回答 1 投票 0

将指针返回到静态字符串的函数

我有这个程序,可以打印 Lala。虽然我不明白为什么当我调用 foo() 时在主函数中没有得到编译错误。我怀疑这与...

回答 1 投票 0

将 uintptr_t 添加到指针对称吗?

前言:我知道很难找到这样的用例。这个问题纯粹是理论上的,是出于好奇而提出的。 采取以下措施: char b[SOME_SIZE]; 这是: ((char *)5) + ((

回答 1 投票 0

进程已完成,退出代码为 138 CLion

我想在 C 中实现一个简单的函数,用另一个字符串替换一个字符串,但我不确定为什么会出现以下错误。我是指针新手 错误说 进程完成并退出...

回答 1 投票 0

在 C 中以指数形式添加两个多项式

问题是添加两个用户定义的多项式数据类型。我的代码如下。我尝试编写一个代码,通过使用 malloc 创建动态数组,仅占用必要的内存。 请...

回答 2 投票 0

C++ 中进行链式调用的对象类型应该是什么

有人可以告诉我 Class Point 和 Class Dog 这两个代码有什么区别吗?类dog编译没有任何错误。如果堆栈中的点对象...

回答 2 投票 0

将 boost intrusive_ptr 与不同 const-ness 进行比较

我想将 boost::intrusive_ptr 实例与基础类型的不同 const 性进行比较,但不幸的是,如果您取消注释该行,它就无法从框中工作: #包括 我想将 boost::intrusive_ptr 实例与基础类型的不同常量进行比较,但不幸的是,如果您取消注释该行,则它不起作用: #include <boost/intrusive_ptr.hpp> #include <memory> struct S {}; void intrusive_ptr_release(const S*){} int main() { boost::intrusive_ptr<const S> boost_const_ptr; boost::intrusive_ptr<S> boost_ptr; // if(boost_const_ptr < boost_ptr) {} // <------ here const S* s_const_ptr; S* s_ptr; if(s_const_ptr < s_ptr) {} std::unique_ptr<const S> u_const_ptr; std::unique_ptr<S> u_ptr; if(u_const_ptr < u_ptr) {} } 错误将是: no match for 'operator<' (operand types are 'boost::intrusive_ptr<const S>' and 'boost::intrusive_ptr<S>') 我可以比较原始指针,甚至可以比较 std::unique_ptr,但不能比较 boost::intrusive_ptr。这是有原因的,还是只是疏忽? 一个可能的原因是,与 shared_ptr < would be impossible in general. Other smart pointer types don't have to deal with the possibility of heterogenous comparison1 具有相同的语义,但 shared_ptr、weak_ptr 和 intrusive_ptr 可以。 template<class T, class U> bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b) noexcept; 退货: 未指定的值使得 operator< 是严格的弱排序,如 C++ 标准的 [lib.alg.sorting] 部分所述; 在operator<、!(a < b) && !(b < a)定义的等价关系下,两个shared_ptr实例是等价的当且仅当它们 共有所有权或两者都是空的。 shared_ptr 可以通过比较引用计数的地址来做到这一点。 intrusive_ptr 不能这样做,因为它没有对引用计数的指针访问。 例如当您将 shared_ptr<Base> 与 shared_ptr<Derived> 进行比较时,它们可能共享同一对象的所有权,这对于 unique_ptr<Base> 和 unique_ptr<Derived> 来说是不可能的。

回答 1 投票 0

为C中数据结构的指针分配内存

我在 C 中有一个数据结构,在定义中,有一系列不同类型的指针,如下所示: typedef 结构 data_t{ 类型_0 *数据_0; ... 类型_n *数据_n; }; 现在,假设我声明一个指针...

回答 1 投票 0

整数指针只有在打印时才具有正确的值

我正在实现我自己的 smart_pointer,它计算对其所指向事物的引用。这是到目前为止我的实现: #pragma 一次 #包括 模板 ...

回答 2 投票 0

我不明白为什么当我用 *p1 初始化指针时没有遇到错误,其中 p1 是双指针

该程序没有特定功能;我目前正在研究列表,我很难理解为什么在 Node*curr=*root; 行中没有得到编译错误。我是不是应该开始...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.