指针变量

C类中的指针成员变量初始化

奖金问题:如果上述问题的答案不是NULL,而且我希望始终将特定的成员指针变量初始化为NULL,并且我有多个构造函数,那么我真的必须在每个建设者我写?

指向自己的指针C.

我正在写一个在递归链末尾调用的函数.这个函数需要弄清楚它在被调用的时候在内存中的位置.代码如下:问题是程序只是跳过这个语句,好像它从未写过.我在GDP中证实了这一点.你能想出为什么这条线被忽略的原因吗?解决方法将变量声明为volatile.它应该阻止编译器优化.

c – 如何在没有源代码的情况下检查GDB中的std :: string?

我试图调试一个没有源代码的程序,我需要看看它在std::string中的存储.我一直在搜索和查找这里,我已经找到了一些关于输出STL容器的信息,但是它们都是指变量,没有源或调试信息,我所有的都是类数据的内存偏移量.有没有办法做到这一点?解决方法每个std::string实现都有一个指向其中的原始字符的指针.对于g4.x,该指针在字符串中偏移0.如果你知道字符串驻留在例如0x7fffffffda88,然后是你需要的

objective-c中的方法语法

我是一个刚接触objective-c的.NET程序员,我很难理解一些细节语法.例如,我应该如何解析此方法签名:我理解“–”char的含义,(UITableViewCell*)定义了返回类型.但其余的让我感到困惑.解决方法>“–”定义实例方法>返回UITableViewCell指针>名为“tableView”的方法签名的第一部分>采用UITableView指针>使用局部变量名“tableView”>

c – 为什么在初始化指向整数的指针时在整数变量之前使用“&”?

为什么我们在初始化指针时使该指针中的值等于第一种情况下变量的地址?解决方法令人困惑的是,*指针=10中的星号和int*指针中的星号=&a意味着两个不同的东西.>*pointer=10取消引用变量指针并将值10赋给取消引用操作的结果.>int*pointer=&a声明变量指针为int*类型,并使用值&a初始化它.这里没有解除引用.星号在这里提醒您,当解除引用指针时,您将得到一个int.换句话说,这声明指针使*指针为int.

c – 在dynamic_casting之后删除指针是否安全?

一般来说dynamic_cast实际上是如何工作的?(它是否像复制构造函数一样工作?是;但请注意,删除指向的对象后,两个指针都无效.之后您不能使用任何指针值.Ingeneralhowdynamic_castactuallyworks?不可以.复制构造函数用于复制对象.这不是复制它,只是改变指向它的指针的类型.副本看起来像注意,bc的类型是BaseClass,而不是c的类型;这被称为“切片”,因为对象的派生部分是“切掉”而不是复制.

检查指针是否已初始化的最佳方法

有没有办法检查指针是否已初始化?解决方法未初始化的变量可以包含任何值.因此,无法确定变量是否未初始化,因为它看起来就像已经初始化的变量.确保变量初始化的唯一方法是显式地为您写入一个值,就像您在问题中已经提到的那样.

为什么strcpy不使用const指针作为dest?

有没有理由strcpy的签名是这样的:而不是这个?据我所知,该函数永远不会改变指针.我误解了应该使用的const指针吗?解决方法strcpy的源代码非常粗略:这里我们实际上修改了dest,但这对调用者没有任何影响,因为在strcpy函数中,dest是一个局部变量.但是下面的代码将无法编译,因为dest是const:我们需要写这个:它引入了一个非必要的临时变量.

在C类中存储指向istream和ostream的指针

game.hgame.cpp我正在尝试在我班级的其他部分使用istream和ostream,但我不能因为g不会让我参考进来.有什么想法吗?解决方法您只需要一个引用变量,而不是指针.由于一些语言怪癖,现有代码编译:>istream/ostream可以使*无效,以允许您检查其错误状态>你的编译器显然允许将void*转换为ostream*.

C,Cheat Engine/OllyDBG从多级指针中查找基本“静态”地址

来找到下一个指针,但是当使用T-SEARCH和第二级指针地址时,我会得到7到8个新的静态地址.问题是,我不知道哪一个是正确的,因为作弊引擎REFUSES让我使用NEGATIVE添加指针?那么,是否有另一种从多个级别指针中查找基址的方法?欢迎OlyDBG/Idapro解决方案.非常感谢你们!知道child的相对地址是sizeofsizeof=5.我们知道指向对象n°3的指针是&5.对象n°2的地址也是如此,我将把它留作练习.但对象n°1怎么样?