Look at the following program. It compiles correctly under every standard-conforming compiler. At first, this may seem surprising because seemingly, because it's impossible delete an object which is not a pointer and still, the delete expression takes a reference as its argument:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream &i = *new ifstream("myfile.txt");
//