以下是引用TonyDeng在2012-2-17 01:48:33的发言:
指針是間接尋訪手段,計算機要尋訪*p的數據,要做兩步動作,第一步先到p的地址讀取地址值,然後根據指示再跳轉到對應的地址,才能找到實體數據,這是兩個步驟。而直接用變量名尋址,是一步到位的。哪個效率高,不是看數據長度,而是看操作都做了什麼。對值數據類型,指針無論如何都沒有直接尋址快,只有對引用數據類型,才顯出靈活的優勢,但那仍然不是指速度效率高,因為凡是指針解引用,都必須有如上兩個步驟。指針的效率,只是迴避了複製過程中的讀、寫、擦除動作,而僅僅調換標籤(即對作為值數據類型的指針變量進行讀、寫、擦除動作而非對引用數據實體),但實際的動作,並不僅僅是那麼簡單的。採取什麼方式,是看實際情況和需求的,不是看見“指針”兩字就高效的。
呵呵,今天看c++ 这块的书籍。指針是間接尋訪手段,計算機要尋訪*p的數據,要做兩步動作,第一步先到p的地址讀取地址值,然後根據指示再跳轉到對應的地址,才能找到實體數據,這是兩個步驟。而直接用變量名尋址,是一步到位的。哪個效率高,不是看數據長度,而是看操作都做了什麼。對值數據類型,指針無論如何都沒有直接尋址快,只有對引用數據類型,才顯出靈活的優勢,但那仍然不是指速度效率高,因為凡是指針解引用,都必須有如上兩個步驟。指針的效率,只是迴避了複製過程中的讀、寫、擦除動作,而僅僅調換標籤(即對作為值數據類型的指針變量進行讀、寫、擦除動作而非對引用數據實體),但實際的動作,並不僅僅是那麼簡單的。採取什麼方式,是看實際情況和需求的,不是看見“指針”兩字就高效的。
貌似和你说的差不多。好巧啊。
我上面的说法,和你的这些不是验证吗?
你在函数中按值传递 就需要创建一个副本。
如果你的副本很大 这样就要进行赋值的时间比较长。。
所以用指针是不需要创建副本,
所以我想表达的意思和你差不多啊。
呵呵
用心做一件事情就这么简单