指针和程序';她的表现如何? 我是C++新手。我已经习惯了指针和内存分配,但在我的脑海中仍然有一些问题。当我们更喜欢引用而不是指针时,有什么技术区别吗?我脑海中的另一个问题是指针和程序性能之间是否存在任何关系。让我解释一下,我知道使用指针意味着分配堆,但使用它们可能会提高程序的性能。

指针和程序';她的表现如何? 我是C++新手。我已经习惯了指针和内存分配,但在我的脑海中仍然有一些问题。当我们更喜欢引用而不是指针时,有什么技术区别吗?我脑海中的另一个问题是指针和程序性能之间是否存在任何关系。让我解释一下,我知道使用指针意味着分配堆,但使用它们可能会提高程序的性能。,c++,pointers,reference,stack,heap-memory,C++,Pointers,Reference,Stack,Heap Memory,引用和指针做不同的事情。引用引用现有变量,其中as指针是任意地址 这是一篇关于何时使用每种方法的好文章 性能改进的问题没有真正意义。由于各种原因,使用堆是必要的,它不是为了性能而创建的。指针和引用之间的差异主要是语义上的,由编译器在编译时处理。它们的实现往往类似。如果我们将指针视为对对象的间接访问,则实际上可以降低性能,其中需要两个内存访问才能从一个对象或所有成员函数中获得一个值:指针的一个内存访问,一个对象的内存访问。在现代C++中,通常很少需要使用多态性以外的指针。专注于编写好的、可读的和可

引用和指针做不同的事情。引用引用现有变量,其中as指针是任意地址

这是一篇关于何时使用每种方法的好文章


性能改进的问题没有真正意义。由于各种原因,使用堆是必要的,它不是为了性能而创建的。

指针和引用之间的差异主要是语义上的,由编译器在编译时处理。它们的实现往往类似。如果我们将指针视为对对象的间接访问,则实际上可以降低性能,其中需要两个内存访问才能从一个对象或所有成员函数中获得一个值:指针的一个内存访问,一个对象的内存访问。在现代C++中,通常很少需要使用多态性以外的指针。专注于编写好的、可读的和可维护的代码,这些代码可以很好地工作。然后,如果有一些效率要求,构建一个优化的发布版本,并测量性能,分析程序以找到前两个(或者可能是三个)瓶颈,然后只关注这些瓶颈,并编写大量关于手动优化代码的文档和注释。重复直到“足够好”,但不要再重复了。“我知道使用指针意味着分配堆”这是一个常见的误解,是错误的。您可以在任何地方使用指针,而无需单独的动态内存分配。反过来也不完全正确。标准容器以一种您不必处理指针的方式为您管理动态分配的内存。自C++11以来,您不应该在任何情况下处理原始指针