String_varクラス |
文字列のメモリ管理を扱うクラスです。
4.4.1.17. クラス |
文字列のメモリ管理を扱うクラスです。CORBA::String_varを使うことで、文字列のメモリ解放が簡単になります。
String_var | デフォルトコンストラクタ |
String_var(const CORBA::String_var&) | コピーコンストラクタ |
String_var(char*) CORBA::String_var(const char*) |
文字列の設定を行うコンストラクタ |
~String_var | デストラクタ |
operator=(char
*) operator=(const char *) operator=( const CORBA::String_var &) |
代入オペレータ |
operator char*&() | 文字列へのポインタの参照をchar*&型で返す |
operator const char*() const | 文字列へのポインタをconst char*型で返す |
operator[](CORBA::ULong) | 文字列のindex番目の要素の参照をchar&型で返す |
operator[](CORBA::ULong) const | 文字列のindex番目の要素をconst char型で返す |
CORBA::String_var::String_var - デフォルトコンストラクタ
#include <orb.h> CORBA::String_var::String_var();
CORBA::String_varのインスタンスを生成するときに使用します。
ありません。
起こりません。
CORBA::String_var::String_var(const CORBA::String_var&)
- コピーコンストラクタ
#include <orb.h> CORBA::String_var::String_var(const CORBA::String_var& s);
CORBA::String_varのインスタンスを作成し、引数のデータをコピーします。
例)
CORBA::String_var sv2 = ...; CORBA::String_var sv3(sv2); // CORBA::String_var
ありません。
コピーコンストラクタは内部で文字列をコピーするため、メモリ不足によるエラーが起こることがあります。この場合、文字列としてヌル・ポインタが設定されます。
CORBA::String_var::String_var(char*)
CORBA::String_var::String_var(const char*)
- 文字列の設定を行うコンストラクタ
#include <orb.h> CORBA::String_var::String_var(char* p); CORBA::String_var::String_var(const char* p);
CORBA::String_varのインスタンスを作成し、引数のデータをコピーします。
引数がchar*型のときは、引数pの所有権がCORBA::String_varのインスタンスに移ります。したがって、引数に渡した後で値を操作してはいけません。引数に渡せるのはCORBA::string_alloc(CORBA::ULong)もしくはCORBA::string_dup(const char*)およびオペレーションの戻り値だけです。
引数がconst char*のときは、引数pのコピーが生成されます。CORBA::String_varのインスタンスは生成したコピーを保持します。
例)
const char* cs = "const char string"; char* sptr = CORBA::string_dup(cs); CORBA::String_var sv1(sptr); // char* CORBA::String_var sv2(cs); // const char*
ありません。
CORBA::String_var(const char*)は内部で文字列をコピーするため、メモリ不足によるエラーが起こることがあります。この場合、文字列としてヌル・ポインタが設定されます。
CORBA::String_var::~String_var - デストラクタ
#include <orb.h> CORBA::String_var::~String_var();
CORBA::String_varのインスタンスを削除するときに使用します。
ユーザはこの関数を明示的に呼び出すことはありません。deleteオペレータを使ったときあるいはスコープから抜けるときに自動的に呼び出されます。
ありません。
起こりません。
C++マッピング「文字列(string, wstring)」
CORBA::String_var::operator=(char*)
CORBA::String_var::operator=(const char*)
CORBA::String_var::operator=(const CORBA::String_var&)
- 代入オペレータ
#include <orb.h> CORBA::String_var& CORBA::String_var::operator=(char* p); CORBA::String_var& CORBA::String_var::operator=(const char* p); CORBA::String_var& CORBA::String_var::operator=( const CORBA::String_var& s );
CORBA::String_varのインスタンスに文字列を代入またはコピーし自分自身への参照を返します。もし、左辺が文字列を保持していたとき、古い文字列は破棄されます。
char*型からの代入はCORBA::string_alloc(CORBA::ULong)もしくはCORBA::string_dup(const char*)およびオペレーションの戻り値でなければなりません。また、代入されたchar*はCORBA::string_free(char*)で解放する必要はありません。代入された文字列はdeleteオペレータを使ったときあるいはスコープを抜けるとき、自動的に解放されます。
const char*型からの代入はconst char*が指している領域のコピーになります。コピーされた領域はdeleteオペレータを使ったときあるいはスコープを抜けるとき、自動的に解放されます。
CORBA::String_var&型からの代入は右辺が保持している領域のコピーになります。コピーされた領域は左辺に対してdeleteオペレータを使ったときあるいはスコープを抜けるとき、自動的に解放されます。
例)
const char* cs = "const char string"; char* sptr = CORBA::string_dup(cs); CORBA::String_var sv1, sv2, sv3; sv1 = sptr; // char* sv2 = cs; // const char* sv3 = sv2; // CORBA::String_var
自分自身への参照を返します。
operator=(const char*)およびoperator=(const CORBA::String_var&)は内部で文字列をコピーするため、メモリ不足によるエラーが起こることがあります。この場合、文字列としてヌル・ポインタが設定されます。
C++マッピング「文字列(string, wstring)」
CORBA::String_var::operator char*&() - 文字列へのポインタの参照をchar*&型で返す
#include <orb.h> CORBA::String_var::operator char*&();
CORBA::String_varのインスタンスが保持している文字列へのポインタの参照をchar*&型で返します。
文字列へのポインタの参照をchar*&型で返します。
起こりません。
C++マッピング「文字列(string, wstring)」
CORBA::String_var::operator const char*() const
- 文字列へのポインタをconst char*型で返す
#include <orb.h> CORBA::String_var::operator const char*() const;
CORBA::String_varのインスタンスが保持している文字列へのポインタをconst char*型で返します。
文字列へのポインタをconst char*型で返します。
起こりません。
C++マッピング「文字列(string, wstring)」
CORBA::String_var::operator[](CORBA::ULong)
- 文字列のindex番目の要素の参照をchar&型で返す
#include <orb.h> char& CORBA::String_var::operator[](CORBA::ULong index);
CORBA::String_varのインスタンスが保持している文字列のindex番目の要素の参照をchar&型で返します。
index番目の要素の参照をchar&型で返します。
起こりません。
C++マッピング「文字列(string, wstring)」
CORBA::String_var::operator[](CORBA::ULong) const
- 文字列のindex番目の要素をconst char型で返す
#include <orb.h> char CORBA::String_var::operator[](CORBA::ULong index) const;
CORBA::String_varのインスタンスが保持している文字列のindex番目の要素をconst char型で返します。
index番目の要素をconst char型で返します。
起こりません。
C++マッピング「文字列(string, wstring)」