pointers相关内容

如何在c中删除链表中的头?

此程序应删除单链表中的N节点。如果我把N=1或N=2,这是可以的,程序可以工作。但当N=0时,输出将打印具有随机值的无限个节点(在删除节点0之后)。我认为程序看不到新的负责人。感谢帮助! #include #include #define N 0 struct node { int data; struct node *next; ..
发布时间:2022-09-24 19:12:33 其他开发

如何将UNIQUE_PTR移动到原始指针?

我有一个函数,用于分配给定大小的缓冲区。缓冲区将在返回之前对一些数据进行预处理/填充。此预处理可能返回FALSE,以表示此缓冲区未正确处理。因此,我要对此缓冲区应用RAII,以避免在没有delete[]它的情况下提前返回。 通常我使用unique_ptr来帮助我自动释放本地分配的对象。在这种情况下,我需要返回这个分配的对象(归unique_ptr所有),并将所有权转移给调用者。但编译器抱怨说 ..
发布时间:2022-08-26 13:13:06 C/C++开发

将向量的矢量转换为指针的指针

假设我有一个以指针指针为参数的C库API函数。然而,由于我是用C++编程的,所以我想利用STD向量来处理动态内存。如何有效地将向量的矢量转换为指针的指针?我现在正在使用这个。 #include /* C like api */ void foo(short **psPtr, const int x, const int y); int main() { ..
发布时间:2022-08-23 12:40:25 C/C++开发

如何将标记(Strtok)存储在数组的指针中

我仍然有一些问题,我想如果我设法解决这个问题,我最终会掌握它的。 我有这个line,Istrtok用分隔符隔开。现在,我希望将所有标记存储在数组char* tokens[50]上的指针中。如何将所有令牌存储在此指针中,以及如何在存储所有令牌后访问它们。我想我还需要一个柜台int token_count。 推荐答案 这很简单。例如: char * tokens[50]; size ..
发布时间:2022-08-05 11:26:46 其他开发

Tkinter-鼠标指针当前位于哪个窗口小部件上?

我想问你们,有没有办法获得当前鼠标指针所在的小部件的名称或ID。有没有办法做到这一点?感谢您的回复。 推荐答案 通常您从绑定获取此信息。但是,如果您想要随时轮询系统以找出鼠标下方的小部件,您可以使用winfo_pointerxy获取鼠标的坐标,然后将这些坐标传递给winfo_containing以获取这些坐标下的小部件。 这里是一个示例程序,它在鼠标下连续打印出小部件: i ..
发布时间:2022-07-14 17:52:53 Python

更新切片切片中的一个位置会导致多次更新

我学习围棋和玩棋子,但我有一个问题 我有一个带有&q;的默认矩阵,但当我尝试将位置0,0更改为符号时,所有n,0位置都有&q;#&q;,换句话说,我从以下位置开始: [. . . . .] [. . . . .] [. . . . .] [. . . . .] [. . . . .] 使用此函数修改0,0位置: func drawSym(table *[][]string) ..
发布时间:2022-07-02 21:48:13 其他开发

C:两个空指针的区别是什么?

如果我减去两个空指针,就可以得到指针位置之间的相对距离(至少在我的测试系统上是这样)。我应该使用什么类型来存储结果,以便它与64位系统兼容?SIZE_T是正确的类型还是可能很长? 背景:我们需要检查给定的空指针用作双指针是否安全。我们曾经将指针强制转换为int,并检查较低的三位是否为零,但我们当前的编码标准不再允许将指针强制转换为整数类型。我正在考虑计算空指针和空指针之间的差异,并检查该差异 ..
发布时间:2022-06-27 16:03:45 其他开发

在文件流中向后一步

假设我有一个文件指针,如下所示: file_ptr = fopen(“test.txt”, “r+”); 并且我希望在流中移动时更改每个char的ASCII值(我是以密码方式执行此操作的,因此如果有更好或更有效的方法,请让我知道)。 我正在尝试对fgetc()和fputc使用while(!feof(file_ptr)) {}循环,但file_ptr将指向下一个字符,因此我想知道是否 ..
发布时间:2022-06-19 15:10:25 其他开发

如何将对象添加到指针

我想弄清楚一个向量如何在它已经创建&q;一些对象之后添加更多的对象: int *ptr; ptr = new int; 在使用该指针之后,如何向该指针添加更多对象?(使其成为数组)。谢谢! 推荐答案 大多数实现都是从一个小数组开始的,每当它达到容量时,就会分配一个大小加倍的新数组,并将旧元素复制到新数组中。 ..
发布时间:2022-06-11 22:32:09 C/C++开发

重新分配指针时删除运算符的用法

在将指针重新分配给另一个指针时,是否需要始终删除该指针, 示例: int value = 5; int* ptr{ new int{} }; // allocate memory ptr = &value; // old address lost, memory leak results 我知道这有助于防止内存泄漏,但这在所有情况下都是可取的吗?有没有这样一种情况:在ptr=&;值 ..
发布时间:2022-06-11 21:57:07 C/C++开发

智能指针在具有自动存储持续时间的对象上的使用

如果我将智能指针(scoped_ptr、unique_ptr或shared_ptr)应用到具有自动存储持续时间(即存储在堆栈上)的对象上,会有问题吗?我假设不会像在两种情况下那样(有或没有智能指针),如果没有更多的指针指向它们,它们将被删除。指针本身始终具有自动存储持续时间,即,如果超出范围,它们将被删除。 推荐答案 是,有一个问题(一个很大的问题):您正在使用智能指针做一些它们不是设 ..
发布时间:2022-05-12 15:38:02 C/C++开发

通过带有指向函数的公共成员指针的对象调用C++函数,而不使用取消引用运算符

好的,我认为这个标题已经足够描述了(但是令人困惑,抱歉)。 我正在阅读此库:Timer1。 在头文件中,有一个指向如下函数的公共成员指针: class TimerOne { public: void (*isrCallback)(); // C-style ptr to `void(void)` function }; 存在TimerOne类的实例化对象,名为&qu ..
发布时间:2022-04-10 15:33:37 C/C++开发

如何理解指针的存储类型

我的家庭作业是: 给定void** ptr_addr,编写一个函数,如果*ptr_addr的存储类型为静电或自动,则返回0,如果*ptr_addr的存储类型为动态,则返回1。 代码的语言必须为C。 问题是理论上我知道这项任务是关于什么的,但我不知道如何检查 具有代码的上一个条件。 谢谢您的帮助! 推荐答案 通常我不做家庭作业,但在这种情况下我可能会例外。 请记住,我 ..
发布时间:2022-03-13 11:43:00 其他开发