Есть ли какая-то тонкая разница между ними:
void a1(float &b) {
b=1;
};
a1(b);
и
void a1(float *b) {
(*b)=1;
};
a1(&b);
?
Оба они делают то же самое (или так кажется из main()), но первый явно короче, однако большая часть кода, который я вижу, использует вторую нотацию. Есть ли разница? Может быть, в случае, если какой-то объект вместо float?