Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用动态指针和智能指针更改变量的值?_C++_Pointers_C++11 - Fatal编程技术网

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乔请编辑你的问题,你说“或”,“不是”和。”