2017-06-19 115 views
0

我试图在matlab中使用指针。以下代码在设置xptr.value=4;后没有更改x的值。我不明白为什么。如何在matlab中使用指针来更改原始变量?

x=3; 
xptr=libpointer('doublePtr',x); 
xptr.value=4; 
+0

MATLAB不能这样工作。 MATLAB通过copy-on-write工作,这意味着'x'只会在它自己改变时才会改变。当你通过指针来做这件事时,它没有任何作用。也正如gnovice提到的那样,'x'只用于初始化'xptr'的值。 – rayryeng

+0

Matlab有指针? – Yvon

回答

1

它不应该改变的x价值,因为x仅用于初始化的xptr值。注意从the documentation(重点煤矿)这一行:

p = libpointer(DataType,Value)创建指针初始化为副本Value

相关问题