Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I find that problem goes away if you only declare a single variable per line. Generally, I find people who do

  int* foo;
Started with C++ and people who do

  int *foo;
Started with C. I started with C++.


I have made the same observation and as someone who started with C++, I think it makes more sense that

    int* i;
is an int pointer named i.

    int *i;
just looks strange.. an int named pointer i umm?

Besides, declaring only one variable per line seems less cluttered to me, so I never get the

    int* a, b;
confusion.


I never put the asterisk next to the type, because I wanted to train myself the way the grammar actually works rather than the way almost everyone wished it worked.


But the compiler recognizes the type of the variable as int*.


When used in an expression, I read p as "what's pointed by p". In a declaration, this applies as well:

    int *i;
means "what's pointed by i is an int".


That makes more sense alright, but I still think it would make a lot more sense if * was bound to the type.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: