unsigned char *
とchar *
の違いを理解しています。 reinterpret_castを使用してunsigned char *
をC++のchar *
にキャストする方法も分かります。Objective-Cのunsigned char *からchar *へのキャストの動作を定義
私はObjective-Cでsqlite3のを使用していますし、これを行うには
sqlite3_column_text(...);
への呼び出しからNSString
を取得しようとしています、私は基本的にやってる:
char *cParam = (char *)sqlite3_column_text(compiledStatementPtr, 0);
NSString *aParam = nil;
if (cParam) {
aParam = [NSString stringWithUTF8String:cParam];
}
sqlite3_column_text()
を、しかし、unsigned char *
を返すと、私はchar *
へのキャストの動作が心配です。私はキャストが実装特有であることを読みました。これがObjective-Cの安全なキャストかどうか、あるいは間違ったツリーを完全に吠えているのかどうか疑問に思っていましたか?
私が気付いていないヘッダーファイルでない限り、BTW reinterpret_castはObjCで利用できないようです。これは可能です。 – jcb
'reinterpret_cast'はObjective-Cでは利用できないC++演算子です。 – notnoop