function - 传递给函数时 ^ 引用的确切行为是什么?
问题描述
我是 C++/CLI 的新手。我以前用 C++ 编程过。
我在读一本书,看到如果我将String^
str作为参数传递给函数,并在函数内部写入str = "New String" ,则字符串str在返回 main 后不会将值更改为 "New String"。
^ 应该表现得类似于 C++ 中的指针,所以我期待str改变值。这里发生了什么?
我还尝试了另一个实验List<String^>^
。如果我写这段代码:
我的输出是:
1
2
CHANGED string
所以看起来它有时表现得像 C++ 中的引用/指针(在 List 情况下),但有时它表现得像按值传递(在 String 情况下)。
有人可以向我解释每种情况下发生了什么吗?提前致谢。我想不通。
解决方案
推荐阅读
- xamarin - 如何在 Xamarin 表单页面上访问代码隐藏中的属性
- r - 使用Base R将data.frame data.table中的字符串拆分为两列
- c# - Xamarin UiTest - 如何连接 mac 机器并从 windows VS 2019 运行 iOS 应用程序
- javascript - 编码这个自动时间戳脚本,它只在第 6-30 行工作,从未定义有限的单元格范围?
- here-api - HERE Maps Intermodal Routing API v8 示例不起作用(API 密钥验证)
- python - 如何计算列表中的项目出现次数,如果它不在列表中,则返回零计数?
- assembly - NASM 获取系统时间
- ios - SwiftUI 因一位用户的 EXC_BREAKPOINT (SIGTRAP) 而崩溃,我无法在模拟器中复制它
- powerquery - Excel PowerQuery 中的 IF AND OR
- r - plot_ly 具有常量变量的 3D 图