14.18 文字列

これらの関数のC++へのマッピングは次のとおりです:

// C++
namespace CORBA {
static char * string_alloc(ULong len);
static char * string_dup (const char *);
static void string_free(char *);
...
} 

ノート:

C++では、charの静的配列はchar*に移行が進んでいます。したがって、String_varに静的配列を割り当てる際は注意が必要になります。これは、String_varでは、string_allocで割り当てられたデータをポインタが指すことを前提としており、最終的にはstring_freeでデータを解放しようとするためです。

この動作はANSI/ISO C++では変更され、文字列リテラルはchar*ではなくconst char*になりました。ただし、ほどんどのC++コンパイラではこの変更を実装していないため、移植可能なプログラムを作成する際は、上記の注意事項に留意しなければなりません。

次の項では、文字列に割り当てられるメモリーを管理する各関数について説明します。