我是C++的新手,所以如果我遗漏了一些非常明显的东西,我会道歉.我正在阅读关于C++的教程,该教程讨论指针等.
在本教程中,给出了以下示例:
andy = 25;
ted = &andy;
beth = *ted;
Run Code Online (Sandbox Code Playgroud)
我注意到beth和&andy真的一样.所以我将代码修改为:
andy = 25;
beth = *(&andy);
Run Code Online (Sandbox Code Playgroud)
当我打印出&andy时,它给了我andy所指的记忆位置.每次执行代码时,我都会得到一个特定的内存位置:0x28ff18
即使我更改变量的名称,内存位置(我假设这是)也不会改变.根据教程,内存位置由操作系统自动分配.我可以在代码中更改什么来更改andy所在的内存位置?
但是,我的主要问题如下:我试图通过将其更改为代码替换&andy代码中的内存位置.
andy = 25;
beth = *(0x28ff18);
Run Code Online (Sandbox Code Playgroud)
我这样做是假设beth将保持值25,这是在内存位置0x28ff18中延迟的最后一个值.
但是,当我尝试运行此代码时出现错误.
我也尝试将0x28ff18设置为字符串,字符和整数,并且在任何情况下都没有beth =*(thatVariable); 工作.
如果我不能清楚地解释事情,我会道歉,但我想知道是否有办法可以完成我想要做的事情.