用C++处理指针
Dealing with Pointers in C++
在下面的代码中,我很难弄清楚如何使b指向c,这样,如果您更改b指向的值,c就会更改(而不是a)。我试过int *b = &c;
。因此,我的问题最终是:如何在不改变前者价值的情况下,指向指向另一个价值
#include <iostream>
int main(){
int a = 8;
int c = 12;
//std::cout<< a<< std::endl;
std::cout << &a << std::endl;
int *b = &a;
std::cout << *b << std::endl;
std::cout << b << std::endl;
std::cout << b+1 << std::endl;
a = 6;
std::cout << *b << std::endl;
b = &c; // just edited this now it works.
//std::cout << c << std::endl;
system("pause");
return 0;
}
只需取c
的地址并将其分配给b
:
b = &c;
现在,如果取消引用b
,使用*b
,则得到由c
表示的对象。如果在中修改此对象,则不会影响a
的值。
相关文章:
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 在自定义 std::vector-like 容器中处理指针和非指针模板类型的最佳方法是什么?
- 如何在 c++ 中处理 LinkedList 的指针
- C++在一个映射中存储不同的指针类型(并处理销毁)
- 处理从列表中删除指向对象的指针的"healthy"方法是什么?
- C 与 C++,处理 void** 指针
- OpenCV如何处理Mat作为指针来加速代码
- 在C++中使用指针进行字符串处理
- delete运算符如何处理c中的指针
- 指针向量的向量的处理元素
- 在同时处理基类的多个指针时如何处理多态性?
- 处理 pybind11 中的不透明指针
- 为什么Arduino对Mega 2560和ESP8266的角色指针处理有两种不同的行为
- 识别指针处理方式中的错误
- 使用指针处理结构的动态表
- 使用指针指向指针处理 C 中的结构数组
- 使用指针处理字符串
- C++指针处理
- ARM体系结构中的指针处理和Valgrind方法
- 如何在C++中通过指针处理3d数组