C++对于没有任何成员函数的结构体和包含至少一个成员函数的结构体处理方式大部分情况下是一样。但是当一个函数返回一个结构体时,有成员函数的没有的很有差别,如果不是通过返回值返回结构体的,两种情况都一样,所以一般不要返回一个结构体。可以将这个返回值作为传出参数返回。
STL不是模块安全的。如果在一个模块(如DLL)中返回一个STL对象(vector,string等)给另一个模块用时,可能会出现莫名错误。原因在于STL用到了很多静态变量,这些变量都是模块相关的。可以在一个模块中new一个STL对象,返回指针给调用模块,调用模块要访问STL成员时,必须使用导出函数在原模块中访问STL对象。