2012-03-14 6 views
1

const char *を返すさまざまなlibspotify APIが、呼び出し元所有の文字列または呼び出し先所有の文字列を返しますか?libspotifyとconst char *ライフタイム/エンコーディング

私が知る限り、const char *は呼び出し元がそれを所有していることを意味し、呼び出し元はそれを使用できますが、必ずしもその存続期間に依存するとは限りません。

これはSpotifyのパターンですか?

また、api.hファイルで文字列がUTF8でエンコードされていることがわかりましたか?私はこれが明示的に言及した1つか2つだけでなく、すべてのAPIに当てはまると仮定します。

答えて

3

1)const char *は、別段の記載がない限り、libSpotifyが所有しています。それらを解放する必要はありません。また、それらをコピーする必要がある場合は、それらをコピーする必要があります。たとえば、プレイリストの名前が変更されたときに、プレイリスト名const char *がlibSpotifyによって解放されます。 libSpotify FAQの「自分のロックを追加する」セクションでこれについて少し説明します。

2)すべての文字列はUTF-8です。

+0

ありがとう、私が探していただけです。 –

関連する問題