2017-03-01 4 views
0

私はV8:永続的な文字列の連結

Nan::Persistent<String> persistedString

を持っており、いくつかのLocal<String> localString

でそれを連結したい場合、私はから新しいローカルを作成する必要がありますかは、連結は、その後持続的に休ま、最初の持続?

Local<String> baseString = Nan::New(persistedString); 
persistedString.reset(String::Concat(baseString, localString)); 

このようにすると、連結前に永続化されたコピーが作成されますか?それとも、単にメモリを参照していますか?

また、この操作を行うことなく、persistent<string>のうち、文字列のサイズを取得する方法はありますか?

答えて

0
  • はい、それはあなたが何をする必要があるかです。
  • いいえ、それは、唯一のメモリ参照を永続文字列のコピーを作成しません。
  • いいえ、あなたは、関連する何かをするために、ローカルのハンドルを必要としています。
+0

感謝。それはあなたが起動したときに ''() 'や'デストラクタは、() 'メモリのすべてをクリアする必要がありますリセット'経由)(処分という意味でしょうか?私は、それを実行する時間も 'std :: string'にスタッフをコピーするのと同じではないと言っているいくつかの動作を見ています。 – sp3c1