【发布时间】:2020-06-16 19:27:13
【问题描述】:
我学习编码已经有一段时间了,但仍然无法理解引用和指针。我搜索的每个答案对我来说都太复杂了。
当我们调用要使用的变量时,例如
int32 y = 1;
int32 x = 2;
int32 z = y + x;
1) "z" 中到底发生了什么?是通过引用,通过指针调用“y”和“x”还是通过变量调用它们?
在这段代码中我正在学习
FString Log = TEXT("Hello");
FString* PrtLog = &Log;
Log.Len();
(*PrtLog).Len();
PrtLog->Len();
2) 这里发生了什么? “PrtLog”是引用还是指针?
3) 讲师说 *PrtLog 是“取消引用”PrtLog。这是否意味着对 PrtLog 的引用被删除了? * 和 ->
有什么区别4) 如果调用变量也可以,为什么我们还需要引用或指针?
5) 为什么有些人声称 90% 的变量将使用更高级别的引用和指针?它们有什么好处吗?如果我们只是通过变量调用,是不是更简单更快?
抱歉,如果问题太多。我无法得到一个我能够在引用和指针的任何地方理解的答案,所以我真的很困惑。
【问题讨论】:
-
变量不会被“调用”。只有函数可以。我不知道您所说的“它是通过引用、指针调用“y”和“x”还是仅通过变量调用它们?”
-
PrtLog是一个指针。不幸的是,取消引用以这种方式命名,因为它与引用无关。您只能取消引用指针。 -
@BessieTheCow 我也完全不知道哈哈。讲师就是这么说的。或者也许我只是听错了,因为信息太多。什么是正确的术语?从 y 和 x 获取数据?获取数据?编辑:它可能被称为“通过”。编码中的术语太多了,我真的被淹没了