Does FreeBASIC support returning references from Functions, like in C++?
As of version 0.20.0b, no. There are some keywords, such as Peek and the indexing operators, for instance, that behave as if they were Function procedures that return a reference, as in C++. That is, they evaluate to something that can be used in place of an object, much like reference parameters. For example, if mystring is of type String of non-zero length, then mystring[0] evaluates to a reference to the first character (a UByte), which can be assigned to and modified, passed to procedures, etc. Peek and the indexing operators are documented as Function procedures or operators that return a value, since FreeBASIC does not yet support returning references. When returning references is supported, the documentation will be changed to reflect that.