一、前言:
aardio中的字符串,是不可修改的。
我们对字符串变量重新赋值一个不同的字符串,并不是“修改数据”,而是“更换地址”,实际上是赋予了一个新的内存指针。
先看下图,理解一下aardio中字符串变量的定义方式:
在aardio中,不同的变量、字符串,如果内容一样,则会指向同一个指针。
就如上图,变量a、变量b、"哈哈哈"立即数 三者的指针是一样的。
在这种情况下,如果根据一个变量的指针修改了其内容,实际上可能会影响很多其他变量甚至 "立即数" 的内容。其后果是未知的。
我猜测这也是aardio不允许直接修改字符串内容的原因之一吧。
二、获取指针的方法
aardio 中可以使用如下代码获取字符串指针的函数:
var
a ="哈哈哈"
;var
p =raw
.toPointer
(a);//这是字符串"哈哈哈"的指针,同时也是变量a的指针
或
var
p =raw
.toPointer
("哈哈哈"
);//这是字符串"哈哈哈"的指针,同时也是变量a的指针
windows API 也提供了获取字