我可以修改作为参数传递的指针的目标吗?

2023-12-02

函数是否可以更改作为参数传递的指针的目标,以便效果保持在函数之外?

void load(type *parameter)
{
    delete parameter;
    parameter = new type("second");
}

type *pointer = new type("first");
load(pointer);

在这个最小的例子中,将pointer指向第二个分配对象?如果不是,我怎样才能得到这种行为?

更新:为了澄清我的意图,如果参数是普通类型而不是指针,下面是我将使用的代码。在这种情况下,我只会使用参考文献。

void load(type &parameter)
{
    parameter = type("second");
}

type variable("first");
load(&variable);

这很简单,但我尝试用指针做同样的事情。


No.

parameter将获得值的副本pointer在这种情况下。所以它是一个新变量。您对其所做的任何更改仅在函数范围内可见。pointer保持不变。

你必须通过the pointer引用

void load(type *& parameter)
                ^
{
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以修改作为参数传递的指针的目标吗? 的相关文章

  • 无法在 QGLWidget 中设置所需的 OpenGL 版本

    我正在尝试在 Qt 4 8 2 中使用 QGLWidget 我注意到 QGLWidget 创建的默认上下文不显示 OpenGL 3 1 以上的任何输出 Qt wiki 有一个教程 http qt project org wiki How t
  • EF Core 返回 null 关系,直到直接访问

    我有一些如下所示的模型 public class Mutant public long Id get set Relations public long OriginalCodeId get set public virtual Origi
  • 带有 ASP.NET 按钮回发的 jQuery UI 对话框

    我的 ASP NET 页面上有一个运行良好的 jQuery UI 对话框 jQuery function jQuery dialog dialog draggable true resizable true show Transfer hi
  • 未找到 DEADLINE 调度策略

    我想在 C 中实现 DEADLINE 调度策略 我知道该功能已实现Linux 3 14 10我正在使用 Ubuntu 14 04Linux 3 17 0 031700 lowlatency 201410060605 SMP PREEMPT这
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • X 轴和 Z 轴上的 Quaternion.Slerp,无 Y 轴

    I am trying to rotate the Player about X Y and Z axis The Y axis should not move from last angle Example if I rotate 45
  • 使用 STL 流时如何格式化我自己的对象?

    我想将我自己的对象输出到 STL 流 但具有自定义格式 我想出了这样的东西 但由于我之前从未使用过 locale 和 imbue 所以我不知道这是否有意义以及如何实现 MyFacet 和operator 所以我的问题是 这是否有意义以及如何
  • 更改私有模块片段是否会导致模块重新编译?

    On 此页面有关 C 20 模块功能 https www modernescpp com index php c 20 modules private module fragment and header units 我发现了这样的说法 借
  • 为什么连续抛出 2 个异常不会生成无法访问的代码警告?

    为什么以下代码行不会创建编译器警告 void Main throw new Exception throw new Exception 据我所知 编译器应该通知您无法到达第二个抛出异常 这显然是一个编译器错误 它是在 C 3 0 中引入的
  • 将 AutomationID 与 ListView 结合使用

    我正在尝试将 AutomationId 附加到列表视图中的项目 理想情况下 将项目名称绑定到显示的项目
  • 运行实体框架自定义工具,它有什么作用?

    在 Visual Studio 中 当使用实体框架并为 tt 和 Context tt 文件应用运行自定义工具时 它是什么以及它有什么作用 为什么它解决数据库同步问题 有时 为什么我应该在运行 tt 之前运行它 Context tt 它被称
  • MPI - 发送和接收列

    我需要从一个进程发送矩阵列并从另一个进程接收它 我尝试运行以下程序 但得到了一个奇怪的结果 至少我这么认为 仅复制矩阵的第一个元素 某些矩阵元素会发生意外变化 include
  • 让 Windows 尝试读取文件

    我正在对 Windows 文件系统进行某种封装 当用户请求打开文件时 Windows 调用我的驱动程序来提供数据 在正常操作中 驱动程序返回缓存的文件内容 但是 在某些情况下 实际文件没有缓存 我需要从网络下载它 问题是是否有可能让 Win
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • 尝试后终于没有被调用

    由于某种原因 在我的控制台应用程序中 我无法运行我的finally 块 我编写这段代码是为了测试finally块是如何工作的 所以它非常简单 static void Main int i 0 try int j 1 i Generate a
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que
  • 将同步 zip 操作转换为异步

    我们有一个现有的库 其中一些方法需要转换为异步方法 但是我不确定如何使用以下方法执行此操作 错误处理已被删除 该方法的目的是压缩文件并将其保存到磁盘 请注意 zip 类不公开任何异步方法 public static bool ZipAndS

随机推荐

  • TensorFlow 中的实验是什么意思?

    In TensorFlow 2 0 API 有一个模块tf experimental 这样的名字也出现在其他地方 比如tf data experimental 我只是想知道设计这些模块的动机是什么 tf experimental表示所述类
  • 如何在 Haskell 中分割字符串?

    Haskell 中有分割字符串的标准方法吗 lines and words在空格或换行符上分割效果很好 但是肯定有一个标准的方法来在逗号上分割吗 我在谷歌上找不到它 具体来说 我正在寻找一些东西split my comma separate
  • Rails Paperclip S3 ArgumentError(缺少必需的 :bucket 选项):

    我已经被困在这个问题上很多年了 不知道出了什么问题 有很多人似乎有同样的问题 但我实际上找不到任何真正有效的答案 生产 rb config paperclip defaults storage gt s3 s3 credentials gt
  • 在 JavaScript/HTML 中嵌套引号

    如何在 HTML 中嵌套第二层以上的引号 据我所知 只有两种类型的引号 单引号 和双引号 我知道使用斜杠转义 你必须在代码中转义 但转义在浏览器级别不起作用 解决类似以下问题的公认方法是什么 p gt Some Text p 该代码打印到浏
  • 是否可以将参照完整性检查推迟到 SQL Server 中的事务结束?

    我最近在 Fowler 的 PofEA 中读到 某些数据库引擎允许您将 RI 检查推迟到事务结束 这在 SQL Server 中可能吗 在某些情况下 我试图保存包括插入和删除在内的更改 因此会出现问题 确定执行操作的正确顺序以避免 RI 失
  • PHP向html div添加类

    我想用 php 添加一个类到我的 html complete 中 if get field to do repeater Add complete class to div class to do to do wrap should be
  • Nexus 5 (android 5.0) 中微调器下拉弹出窗口位置发生变化

    我在我的应用程序中使用 Spinner 我使用了基本的微调器 这是我的代码 android layout width match parent android layout height match parent style style S
  • 在 Windows 8 桌面应用程序中获取位置

    我是 C 的初学者 但我经常使用 Java 我试图在我的应用程序中使用以下代码来获取位置数据 我正在制作一个 Windows 8 桌面应用程序来使用我的设备中的 GPS 传感器 using System using System Colle
  • ProgressDialog 圆圈未在设备中显示

    我的活动中有这个 ProgressDialog 我正在使用一些设备进行测试 但只有其中一台设备未显示加载圆圈 未显示的设备是运行 Android 7 0 的 Moto G4 Plus 下面有一张图片 I also run the app i
  • 是否需要 glDisableClientState?

    我遇到的用于渲染数组数据的每个示例都类似于以下代码 在绘图循环中 您首先为将要使用的内容调用 glEnableClientState 完成后调用 glDisableClientState void drawScene void glClea
  • 将 Jtable 中的多行数据插入数据库

    我正在尝试将 JTable 中的多行数据保存到数据库中 这是我的代码供参考 try int rows tblCO2 getRowCount for int row 0 row
  • 如何绘制圆形渐变?

    如何绘制圆形渐变像这样在 VB NET 中 看看这个很棒的页面 文章中的代码是 C 语言 以下是您感兴趣的代码的 VB NET 端口 并针对矩形填充进行了更新 基于本文的三角形填充示例 Dim pgb As New PathGradient
  • 从 C# 应用程序到 PHP 网页的 UDP 流传输

    我正在尝试编写 C UDP 服务器代码 它从客户端接收特定的 ID 并返回与其关联的歌曲 客户端是一个 PHP 网页 并将接收到的字节存储到文件中 现在我正在做一些测试 试图在传输为 2048 字节时简单地开始一个假的歌曲讲座 只是一个 j
  • 在 OS X 上设置 g++

    我刚刚更新到 OS X Mavericks 它似乎搞乱了我的整个编译器设置 我不仅必须重新安装 JDK 才能使用 Java 编译器 而且当我尝试使用 GCC G 编译 C C 时 还会出现以下错误 usr local Cellar gcc
  • Google Cloud Storage 在文件中查找

    Google App Engine 网站 https developers google com appengine docs python googlestorage functions seek 暗示能够在 Google Cloud S
  • 使用无服务器框架在 YML 中的代码块中使用 Javascript Resolver 时出现 AWS::Appsync:Resolver Cloudformation 错误

    我在使用 Javascript 解析器在无服务器框架中创建 AWS Appsync Resolver Cloudformation 时遇到问题 My Javascript Resolver我附加到的根目录 src resolvers jsR
  • 如何将 IP 地址增加指定数量?

    我试图弄清楚如何增加起始 IP 地址 并按我指定的偏移量增加它 我尝试这样做 但我做错了一些事情 因为我得到的 IP 遍布各处 甚至不在同一网络范围内 我目前正在做的是获取起始 ip 和结束 ip 获取地址总数 然后将总 ip 增加一个偏移
  • VSTO 2007:如何确定范围的页码和段落号?

    我正在构建一个 MS Word 加载项 它必须从文档中收集所有注释气球并将它们汇总在列表中 我的结果将是 ReviewItem 类的列表 其中包含注释本身 注释文本所在的段落编号和页码 我的部分代码如下所示 private static L
  • 使用 C# 在两个独立的 Windows 应用程序之间共享数据

    我有两个使用我的客户端数据库的应用程序 但没有相互依赖 问题是我需要创建一个配置应用程序 管理员可以在其中设置参数 例如 两个应用程序连接到哪个数据库以及一些其他参数 主要是字符串和数字 这些参数必须影响这两个应用程序 我想到的第一个解决方
  • 我可以修改作为参数传递的指针的目标吗?

    函数是否可以更改作为参数传递的指针的目标 以便效果保持在函数之外 void load type parameter delete parameter parameter new type second type pointer new ty