title: Method with pointer as argument and autorelease pool
body: <p>I've found an autorelease pool inside a method passing a pointer as argument.</p>
  
  <p>1.
  Is there any relation between the 2 ?</p>
  
  <pre><code>- (void)exportXMLToString:(NSMutableString **)aString
  {
      NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
  
      NSMutableString *theString = *aString;
  </code></pre>
  
  <p>2.
  More in general, why do I want to pass the pointer to a string can't I just pass the string itself and returning it back ?</p>
  
  <p>3.
  If I want to override such method, and invoking the superclass method from it, can I just write this ? (and the same string is used ?</p>
  
  <pre><code> - (void)exportXMLToString:(NSMutableString **)aString
      {
          NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
  
          NSMutableString *theString = *aString;
  
              ...
  
              [super exportXMLToString:aString];
     }
  </code></pre>
  
  <p>thanks</p>