Well actually I haven't learned c++ from reading a book or any direct learning tool, just my math and algebra readings in what has relation with the computer, ok if I stuck in anything I have my references but generally I look to the c++ language from the logic side, I belive it's the best logic language, and in our case here I said logically we can't pass 100 to 50 , the concept of passing arrays by reference is the default doesn't implies for me to make the array a pointer, array has no relation with pointer, a simple difference an array exists in a static location but pointer I can change its location to anywhere .. I belive also that nothing is perfect and c++ still needs some mathematical solutions to solve some of its problems ..
when you have time please take a look at this :
maybe you have a suggestion to tell.