WebSphere Web Services Client for C++, Version 1.0.1 オペレーティング・システム: Linux, Windows

規則のサマリー

Web サービス・クライアント・アプリケーションを作成するときに従う必要のあるメモリー管理に関連した規則がいくつかあります。

  1. ポインターとして Web サービス・メソッドに渡されるオブジェクトまたは Web サービス・メソッドから取得されるオブジェクトの責任は、クライアント・アプリケーションにあります。
  2. クラスとして定義されたオブジェクトは、そのオブジェクトが含んでいるオブジェクトを隠しますが、その代わりに、オブジェクトの内容を操作する get メソッドおよび set メソッドを持っています。
  3. クラスであり、入力として使用されるオブジェクトでは、不要になったとき、クライアント・アプリケーションにこのオブジェクトを削除する責任があります。
  4. クラスであり、出力として使用されるオブジェクトでは、不要になったとき、クライアント・アプリケーションにこのオブジェクトを削除する責任があります。「get」メソッドの呼び出しから戻されたオブジェクトは、親オブジェクトの削除時に親オブジェクトが削除するため、このようなオブジェクトを削除することはできません。
  5. スタブが「新規作成」される場合 (スタック・オブジェクトであるのではなく) は、このスタブを削除する必要があります。
  6. 戻りパラメーターが以下のいずれかである場合、削除する必要があります。
    • 複合型
    • 配列
    • ストリング・ベースの型規則 7
    • Nillable
    • オプション
  7. ストリング・ベースの型を削除する場合は、delete [] string; を使用します。 ストリング・ベースの型には、xsd__string、xsd__normalizedString、xsd__token、xsd__language、 xsd__Name、xsd__NCName、xsd__ID、xsd__IDREF、xsd__IDREFS、 xsd__ENTITY、xsd__ENTITIES、xsd__NMTOKEN、xsd__NMTOKENS、 xsd__anyURI、xsd__QName、および xsd__NOTATION があります。
  8. xsd__hexBinary および xsd__base64Binary での「set(xsd__unsignedByte * data, xsd__int size)」メソッドは、データのコピーを取ります。元のデータを削除することを忘れないでください。
  9. xsd__hexBinary および xsd__base64Binary で「xsd__unsignedByte * get(xsd__int & size) const」メソッドを使用する場合、戻されるポインターは xsd__base64Binary または xsd__hexBinary オブジェクトのデストラクターによって削除されるため、このポインターは削除しないでください。
  10. 複合型のメンバーを設定すると、対応する set メソッドが、元のデータのディープ・コピーを取ります。元のデータを削除することを忘れないでください。
  11. 複合型のメンバーの直接設定 (すなわち、対応する set メソッドは使用しないこと) はサポートされておらず、不明の副次作用が発生することがあります。
  12. 配列 (Axis_Array およびそれから派生したもの - xsd__<built-in simple type>_Array または <generated type>_Array) を初期化する場合に、set() メソッドを使用すると、データのディープ・コピーが取られます。元の配列エレメントおよび元の c スタイルのポインター配列を削除することを忘れないでください。

Reference topic

ご利用条件 | フィードバック (英語のみ)

Timestamp icon最終更新: 12 Jun 2006
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)