#include <iostream>

template< typename param >
void same_params( param a, param b ) {
    std::cout << ( &a == &b ) << '\n';
}

int main() {
    int const five = 5;
    same_params< int const & >( five, five ); // true
    same_params< int const & >( five, 6 ); // false
    same_params< int const & >( five, 5 ); // unspecified
    same_params< int const & >( 5, 5 ); // unspecified

    same_params< int >( five, five ); // false (for any arguments)
}
