pointers相关内容
此程序应删除单链表中的N节点。如果我把N=1或N=2,这是可以的,程序可以工作。但当N=0时,输出将打印具有随机值的无限个节点(在删除节点0之后)。我认为程序看不到新的负责人。感谢帮助! #include #include #define N 0 struct node { int data; struct node *next;
..
我有一个函数,用于分配给定大小的缓冲区。缓冲区将在返回之前对一些数据进行预处理/填充。此预处理可能返回FALSE,以表示此缓冲区未正确处理。因此,我要对此缓冲区应用RAII,以避免在没有delete[]它的情况下提前返回。 通常我使用unique_ptr来帮助我自动释放本地分配的对象。在这种情况下,我需要返回这个分配的对象(归unique_ptr所有),并将所有权转移给调用者。但编译器抱怨说
..
假设我有一个以指针指针为参数的C库API函数。然而,由于我是用C++编程的,所以我想利用STD向量来处理动态内存。如何有效地将向量的矢量转换为指针的指针?我现在正在使用这个。 #include /* C like api */ void foo(short **psPtr, const int x, const int y); int main() {
..
为什么螺柱->names.FirstName不需要地址运算符? 但在&;Studd->Studentid?中需要地址运算符? struct student { struct { char lastName[10]; char firstName[10]; } names; int studentid; }; int
..
我仍然有一些问题,我想如果我设法解决这个问题,我最终会掌握它的。 我有这个line,Istrtok用分隔符隔开。现在,我希望将所有标记存储在数组char* tokens[50]上的指针中。如何将所有令牌存储在此指针中,以及如何在存储所有令牌后访问它们。我想我还需要一个柜台int token_count。 推荐答案 这很简单。例如: char * tokens[50]; size
..
我想问你们,有没有办法获得当前鼠标指针所在的小部件的名称或ID。有没有办法做到这一点?感谢您的回复。 推荐答案 通常您从绑定获取此信息。但是,如果您想要随时轮询系统以找出鼠标下方的小部件,您可以使用winfo_pointerxy获取鼠标的坐标,然后将这些坐标传递给winfo_containing以获取这些坐标下的小部件。 这里是一个示例程序,它在鼠标下连续打印出小部件: i
..
我学习围棋和玩棋子,但我有一个问题 我有一个带有&q;的默认矩阵,但当我尝试将位置0,0更改为符号时,所有n,0位置都有&q;#&q;,换句话说,我从以下位置开始: [. . . . .] [. . . . .] [. . . . .] [. . . . .] [. . . . .] 使用此函数修改0,0位置: func drawSym(table *[][]string)
..
如果我减去两个空指针,就可以得到指针位置之间的相对距离(至少在我的测试系统上是这样)。我应该使用什么类型来存储结果,以便它与64位系统兼容?SIZE_T是正确的类型还是可能很长? 背景:我们需要检查给定的空指针用作双指针是否安全。我们曾经将指针强制转换为int,并检查较低的三位是否为零,但我们当前的编码标准不再允许将指针强制转换为整数类型。我正在考虑计算空指针和空指针之间的差异,并检查该差异
..
假设我有一个文件指针,如下所示: file_ptr = fopen(“test.txt”, “r+”); 并且我希望在流中移动时更改每个char的ASCII值(我是以密码方式执行此操作的,因此如果有更好或更有效的方法,请让我知道)。 我正在尝试对fgetc()和fputc使用while(!feof(file_ptr)) {}循环,但file_ptr将指向下一个字符,因此我想知道是否
..
调用new后,如何向指针添加更多对象?(我上课需要它) 这就是我的意思: int *a; a = new int; a = new int; 非常感谢! 推荐答案 您可能应该使用vector或list。
..
我想弄清楚一个向量如何在它已经创建&q;一些对象之后添加更多的对象: int *ptr; ptr = new int; 在使用该指针之后,如何向该指针添加更多对象?(使其成为数组)。谢谢! 推荐答案 大多数实现都是从一个小数组开始的,每当它达到容量时,就会分配一个大小加倍的新数组,并将旧元素复制到新数组中。
..
在将指针重新分配给另一个指针时,是否需要始终删除该指针, 示例: int value = 5; int* ptr{ new int{} }; // allocate memory ptr = &value; // old address lost, memory leak results 我知道这有助于防止内存泄漏,但这在所有情况下都是可取的吗?有没有这样一种情况:在ptr=&;值
..
我有: class A{ public: virtual void foo(); }; class B : public A{ public: void foo(); }; B *ptr = new B(); 我想使用‘ptr’指针直接调用A的foo()。 当我尝试时 (A*)ptr->foo(); 它仍然调用B版本的f
..
如果我将智能指针(scoped_ptr、unique_ptr或shared_ptr)应用到具有自动存储持续时间(即存储在堆栈上)的对象上,会有问题吗?我假设不会像在两种情况下那样(有或没有智能指针),如果没有更多的指针指向它们,它们将被删除。指针本身始终具有自动存储持续时间,即,如果超出范围,它们将被删除。 推荐答案 是,有一个问题(一个很大的问题):您正在使用智能指针做一些它们不是设
..
我是一名C++学生,在理解和完成这部分作业方面可能需要一些帮助。 我有一个SalesItem个对象的向量: class Invoice { public: //blabla vector *getSalesItems(); //code provided by the assignment. private: { //blabla
..
我定义了一个指向函数的简单函数指针,当我尝试输出它时,计算结果为1。幕后发生了什么?(我在Mac上,用C++11 g++编译器编译) #include int foo() { return 5; } int main(int argc, char const *argv[]) { int (*fcptr)() = foo; std::c
..
好的,我认为这个标题已经足够描述了(但是令人困惑,抱歉)。 我正在阅读此库:Timer1。 在头文件中,有一个指向如下函数的公共成员指针: class TimerOne { public: void (*isrCallback)(); // C-style ptr to `void(void)` function }; 存在TimerOne类的实例化对象,名为&qu
..
我键入了以下示例: #include double f(double* x, double* y) { std::cout
..
对不起,我是C方面的新手,我想做的只是在--Help参数输入到终端时打印一些东西,比如./program --help。所以代码是这样的: char *HELP = "--help"; char *argv1 = argv[1]; if (argv1 == HELP) { printf("argv[1] result isaa %s ", argv[1]); } 因此,即使我使
..
我的家庭作业是: 给定void** ptr_addr,编写一个函数,如果*ptr_addr的存储类型为静电或自动,则返回0,如果*ptr_addr的存储类型为动态,则返回1。 代码的语言必须为C。 问题是理论上我知道这项任务是关于什么的,但我不知道如何检查 具有代码的上一个条件。 谢谢您的帮助! 推荐答案 通常我不做家庭作业,但在这种情况下我可能会例外。 请记住,我
..