以下が使用されない理由:
struct Foo
{
int x;
};
int main()
{
Foo &foo = *new Foo();
foo.x = 7;
std::cout << foo.x << std::endl;
delete &foo;
}
結局のところ、可能な場合は参照を使用する必要があり、このアプローチを使用すると、最初に逆参照を行った後は、それを再び忘れることを心配する必要はありません。欠点は何ですか?
編集:
私は知っているoperator ->
、ということを忘れることによって
int &n = *new int;
n = 7;
int *m = new int;
*m = 7; //here you can forget it