为什么在编程中倾向于使用指针而非直接操作对象?

2026-05-08 17:462阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1854个文字,预计阅读时间需要8分钟。

为什么在编程中倾向于使用指针而非直接操作对象?

问题描述:在使用C++进行面向对象开发时,我遇到一个让我非常困扰的问题:C++中经常出现使用对象指针而非直接使用对象本身的代码,例如下面的例子:Object *myObject=new Object();请问这是为什么?

结果:在C++中,使用对象指针而非直接使用对象本身主要是为了提高性能和灵活性。对象指针可以减少内存占用,提高内存访问速度,并且允许动态分配内存。例如,上面的例子中,使用new关键字动态分配了一个Object对象,并通过指针myObject访问它。这种做法在处理大型对象或需要频繁创建和销毁对象时尤其有用。

问题描述

我在使用 C++ 进行面向对象开发时,我发现一个很让我非常困惑的问题:C++ 中经常出现使用对象指针,而不是直接使用对象本身的代码,比如下面这个例子:

Object *myObject = new Object;

而不是使用:

Object myObject;

要不就是调用对象的方法(比如 testFunc())时不使用这种方式:

myObject.testFunc();

而是得写成这样:

myObject->testFunc();

我不明白代码为什么要写成这种形式,我能想到的是指针方式是直接访问内存,这么写代码可以提高代码效率以及执行速度,是这样的么?

最佳回复来自Joseph Mansfield

非常不幸,你在代码中遇到这么多的动态内存分配,但这个只能说明有现在有太多不合格的 C++ 程序员。

这么说吧,你的两个问题本质上是同个问题。

阅读全文

本文共计1854个文字,预计阅读时间需要8分钟。

为什么在编程中倾向于使用指针而非直接操作对象?

问题描述:在使用C++进行面向对象开发时,我遇到一个让我非常困扰的问题:C++中经常出现使用对象指针而非直接使用对象本身的代码,例如下面的例子:Object *myObject=new Object();请问这是为什么?

结果:在C++中,使用对象指针而非直接使用对象本身主要是为了提高性能和灵活性。对象指针可以减少内存占用,提高内存访问速度,并且允许动态分配内存。例如,上面的例子中,使用new关键字动态分配了一个Object对象,并通过指针myObject访问它。这种做法在处理大型对象或需要频繁创建和销毁对象时尤其有用。

问题描述

我在使用 C++ 进行面向对象开发时,我发现一个很让我非常困惑的问题:C++ 中经常出现使用对象指针,而不是直接使用对象本身的代码,比如下面这个例子:

Object *myObject = new Object;

而不是使用:

Object myObject;

要不就是调用对象的方法(比如 testFunc())时不使用这种方式:

myObject.testFunc();

而是得写成这样:

myObject->testFunc();

我不明白代码为什么要写成这种形式,我能想到的是指针方式是直接访问内存,这么写代码可以提高代码效率以及执行速度,是这样的么?

最佳回复来自Joseph Mansfield

非常不幸,你在代码中遇到这么多的动态内存分配,但这个只能说明有现在有太多不合格的 C++ 程序员。

这么说吧,你的两个问题本质上是同个问题。

阅读全文