You can use an arena allocator to get linear allocation on the heap too. Arena allocation is underused IMHO.