问题标签 [pointers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
27691 浏览

c - 带有 C 中指针的 int 矩阵 - 内存分配混乱

我在不产生内存泄漏的情况下生成 int 矩阵时遇到了一些问题。我希望能够通过 read_matrix() 将给定的(全局)矩阵动态地制成任何大小。但是我希望以后能够释放内存。所以在我的主要方法中,第二个 printf 应该导致总线错误,因为它不应该分配任何内存。我将如何去创造这个?

0 投票
14 回答
660513 浏览

c++ - 什么是智能指针,我应该什么时候使用它?

什么是智能指针,我应该什么时候使用它?

0 投票
5 回答
939 浏览

c++ - 更改指向数组的指针以获取特定的数组元素

我理解指针和引用的整体含义(或者至少我认为我理解),我也理解当我使用new时,我正在动态分配内存。

我的问题如下:

如果我要使用cout << &p,它将显示p. 有没有办法可以操纵这个“虚拟内存位置”?

例如,以下代码显示了一个ints 数组。

如果我想显示 的值p[1]并且我知道 的“虚拟内存位置” p,我能否以某种方式执行“ &p + 1”并获得p[1]with的值cout << *p,它现在将指向数组中的第二个元素?

0 投票
12 回答
2497 浏览

c++ - C中不必要的指针转换

我在这个帖子上的回答得到了评论:

函数调用中的 Malloc 似乎在返回时被释放?

简而言之,我有这样的代码:

我得到了这个评论:

我可以说,请不要投射malloc的返回值吗?它不是必需的,可以隐藏错误。

我同意 C 中不需要强制转换。它在 C++ 中是强制性的,所以我通常添加它们以防万一有一天我必须在 C++ 中移植代码。

但是,我想知道这样的演员阵容如何隐藏错误。有任何想法吗?

编辑:

似乎双方都有非常好的和有效的论点。感谢您的发布,伙计们。

0 投票
8 回答
2472 浏览

c - C 指针赋值行为

temp2,temp1是指向某个结构 x 的指针:

现在,在执行以下几行之后:

...会temp2并且temp1仍然指向相同的内存位置吗?如果不是,请解释为什么它们会有所不同。

0 投票
12 回答
118625 浏览

c++ - 指针与参考

为函数提供要使用的原始变量时,有什么更好的做法:

或者:

IOW:有什么理由选择一个而不是另一个吗?

0 投票
8 回答
10187 浏览

c - 为什么 strcpy 会触发全局变量的分段错误?

所以我有一些C代码:

这会编译、运行并按其外观运行。但是,如果将一个或两个字符指针声明为全局变量,则 strcpy 会导致分段错误。为什么会这样?显然我对范围的理解存在错误。

0 投票
5 回答
5193 浏览

c++ - 在 C++ 中透明地交换指向字符数组的指针

我有一个 2D 字符数组:我想通过简单地写 where
char nm[MAX1][MAX2] = { "john", "bob", "david" };
来交换其中两个元素(不带)看起来像这样 std::swap
swapPointers(nm[0], nm[1]);
swapPointers

但是,这不会编译(并且在添加强制转换使其编译时,指针最终指向错误/奇怪的位置)。

有人可以帮忙吗?
谢谢!

0 投票
6 回答
46007 浏览

c++ - 你如何传递一个成员函数指针?

我试图将一个类中的成员函数传递给一个接受成员函数类指针的函数。我遇到的问题是我不确定如何使用 this 指针在类中正确执行此操作。有人有建议吗?

这是传递成员函数的类的副本:

函数 x.SetButton(...) 包含在另一个类中,其中“object”是一个模板。

如果有人对我如何正确发送此功能有任何建议,以便我以后可以使用它。

0 投票
10 回答
65141 浏览

c++ - 我应该存储整个对象还是指向容器中对象的指针?

从头开始设计一个新系统。我将使用 STL 来存储某些长寿命对象的列表和映射。

问题:我是否应该确保我的对象具有复制构造函数并将对象的副本存储在我的 STL 容器中,还是自己管理生命和范围并将指向这些对象的指针存储在我的 STL 容器中通常更好?

我意识到这在细节上有些不足,但我正在寻找“理论上的”更好的答案(如果存在),因为我知道这两种解决方案都是可能的。

玩指针的两个非常明显的缺点: 1) 我必须自己在 STL 之外的范围内管理这些对象的分配/释放。2) 我无法在堆栈上创建临时对象并将其添加到我的容器中。

还有什么我想念的吗?