Questions tagged «pointers»

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





21
为什么要使用指针而不是对象本身?
我来自Java背景,已经开始使用C ++处理对象。但是我想到的一件事是,人们经常使用指向对象的指针,而不是对象本身,例如以下声明: Object *myObject = new Object; 而不是: Object myObject; 或者,而不是使用函数testFunc(),像这样说: myObject.testFunc(); 我们必须写: myObject->testFunc(); 但是我不知道为什么我们要这样做。我认为这与效率和速度有关,因为我们可以直接访问内存地址。我对吗?
1598 c++  c++11  pointers  c++-faq 



13
nullptr到底是什么?
现在,我们有了具有许多新功能的C ++ 11。新的(至少对我而言)是一个有趣而令人困惑的人nullptr。 好了,不再需要讨厌的宏NULL。 int* x = nullptr; myclass* obj = nullptr; 不过,我仍无法了解其nullptr工作原理。例如,维基百科文章说: C ++ 11通过引入一个新的关键字作为一个独特的空指针常量:nullptr 来纠正此问题。它的类型为nullptr_t,可以隐式转换,并且可以与任何指针类型或指针到成员类型进行比较。除了布尔型,它不能隐式转换或与整数类型媲美。 关键字和类型实例如何? 此外,您是否还有另一个示例(除了Wikipedia之外)nullptr优于旧的示例0?
570 c++  pointers  c++11  nullptr 


5
如何在C ++中使用数组?
C ++从C继承了数组,几乎可以在任何地方使用它们。C ++提供更易于抽象使用和更不容易出错(std::vector<T>因为C ++ 98和std::array<T, n>自C ++ 11),因此需要对阵列不会出现相当经常,因为它在C.确实但是,当读取遗留编写代码或与用C编写的库进行交互,您应该对数组的工作原理有把握。 该常见问题解答分为五个部分: 类型级别的数组和访问元素 数组创建和初始化 分配和参数传递 多维数组和指针数组 使用数组时的常见陷阱 如果您觉得本常见问题解答中缺少重要的内容,请写一个答案并将其链接为附加部分。 在下文中,“数组”表示“ C数组”,而不是类模板std::array。假定具备C声明符语法的基本知识。请注意,面对异常,手动使用new和delete如下所述是非常危险的,但这是另一个FAQ的主题。 (注意:这本来是Stack Overflow的C ++ FAQ的一个条目。如果您想批评以这种形式提供FAQ的想法,则可以在开始所有这些操作的meta上进行发布。)该问题在C ++聊天室中进行监控,该问题最初是从FAQ想法开始的,所以提出这个想法的人很可能会读懂您的答案。)


6
Typedef函数指针?
Наэтотвопросестьответына 堆栈溢出нарусском:Какработает的typedefвэтомкоде? 我正在学习如何动态加载DLL,但我不明白的是这一行 typedef void (*FunctionFunc)(); 我有几个问题。如果有人能够回答他们,我将不胜感激。 为什么typedef用? 语法看起来很奇怪;之后void应该没有函数名称或其他名称吗?它看起来像一个匿名函数。 是否创建了函数指针来存储函数的内存地址? 所以我现在很困惑;你能为我澄清一下吗?
458 c++  c  pointers  typedef 

28
理解指针的障碍是什么?如何克服这些障碍?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 为什么对于许多新的甚至老的C或C ++大学水平的学生来说,指针是导致混乱的主要因素?是否有任何工具或思维过程可以帮助您了解指针在变量,函数以及更高级别上的工作方式? 有什么好的做法可以使某人达到“啊哈,我明白了”的程度,而又不会使他们陷入整体观念的泥潭?基本上,像钻探一样的场景。
449 c++  c  pointers 


11
免费如何知道要多少钱?
在C编程中,您可以将任意类型的指针作为参数传递给free,它如何知道要释放的内存的大小?每当我将指针传递给某个函数时,我都还必须传递大小(即,包含10个元素的数组需要接收10个参数作为参数来知道数组的大小),但是不必将大小传递给自由功能。为什么不这样做呢?我可以在自己的函数中使用相同的技术来使我免于需要购买数组长度的额外变量的麻烦吗?
384 c  size  pointers  free 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.