C++ 如何使用动态指针和智能指针更改变量的值?
如何使用动态指针或智能指针更改变量的值C++ 如何使用动态指针和智能指针更改变量的值?,c++,pointers,c++11,C++,Pointers,C++11,如何使用动态指针或智能指针更改变量的值 int a=5; int *b= new int(a); *b=10; cout<< a; inta=5; int*b=新的int(a); *b=10; 库特 分配一个新的int,取与a相同的值。要指向a,只需使用 int *b = &a; 我不知道你为什么在这里提到智能指针,它们没有相关性。它们通常用于管理已分配内存的生存期,而您不应该这样做 你不能通过猜测和实验来有效地学习C++。我建议你 分配一个新的int,取与a相同的值。
int a=5;
int *b= new int(a);
*b=10;
cout<< a;
inta=5;
int*b=新的int(a);
*b=10;
库特
分配一个新的int
,取与a
相同的值。要指向a
,只需使用
int *b = &a;
我不知道你为什么在这里提到智能指针,它们没有相关性。它们通常用于管理已分配内存的生存期,而您不应该这样做
你不能通过猜测和实验来有效地学习C++。我建议你
分配一个新的int
,取与a
相同的值。要指向a
,只需使用
int *b = &a;
我不知道你为什么在这里提到智能指针,它们没有相关性。它们通常用于管理已分配内存的生存期,而您不应该这样做
你不能通过猜测和实验来有效地学习C++。我建议你。当然可以,但是行int*b=newint(a)代码>正在获取a
的值副本
int*b=&a有什么问题代码>
然后,您可以通过取消引用b
来操作a
智能指针在这里对您没有帮助,因为它们涉及管理使用new
分配的某些内容的生命周期。指针指向具有自动存储持续时间的变量。当然可以,但行int*b=new int(a)代码>正在获取a
的值副本
int*b=&a有什么问题代码>
然后,您可以通过取消引用b
来操作a
智能指针在这里对您没有帮助,因为它们涉及管理使用new
分配的某些内容的生命周期。指针指向具有自动存储持续时间的变量。无法创建指向自动内存中分配的int
的动态指针。如果您想使用动态指针,可以使用如下方法:
shared_ptr<int> a { new int(5) };
cout<< *a << endl;
shared_ptr<int> b { a };
*b = 10;
cout << *a << endl;
共享{newint(5)};
cout您不能创建指向自动内存中分配的int
的动态指针。如果您想使用动态指针,可以使用如下方法:
shared_ptr<int> a { new int(5) };
cout<< *a << endl;
shared_ptr<int> b { a };
*b = 10;
cout << *a << endl;
共享{newint(5)};
可以吗int*b=&a
?这是一个动态指针。关于OP对问题和答案的评论,他的期望不是你能从问题中猜到的。我投票决定关闭它,因为我不清楚你在问什么。@Slava绝对不需要粗鲁。dynamic*
是一个动态指针。什么int*b=&a
?这是一个动态指针。关于OP对问题和答案的评论,他的期望不是你能从问题中猜到的。我投票决定关闭它,因为我不清楚你在问什么。@Slava绝对不需要粗鲁。dynamic*
是一个动态指针。你能回答吗?@briefcase乔请编辑你的问题,你说“或,“不是”和。“你能回答吗?@briefcase乔请编辑你的问题,你说“或”,“不是”和。”