Suppose I have a contract that creates and returns a new contract. Something like:
contract TokenFactory {
function createToken() returns (Token) {
return new Token();
}
}
From my experience, if I call createToken() from another contract, I am not allowed to implicitly convert the returned contract object to type address, which makes me think the Token object is more than just an address.
If I pass this Token object as an argument to another function, will it cost more gas than passing just its address? Also, can the token object be put on the stack or must it be in memory/storage?