1. 程式人生 > >複製和剪下, 哪個速度更快

複製和剪下, 哪個速度更快

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

        這是個有意思的問題, 網上扯淡的比較多, 有人爭論, 複製更快, 有的人爭論,剪下更快,有個人說, 一樣快。


        我做了一個小實驗, 在D盤內進行操作, 剪下比複製快, 檔案越大, 效果越明顯。 在D盤和E盤之間, 複製和剪下的速度貌似差不多, 但從原理上來講, 複製應該更快。下面引用網上的一句話,我個人覺得很有道理:

       在同一個分割槽下的操作,剪下更快。因為在同一分割槽下,剪下是改寫資料的邏輯地址,而複製相當於重新生成資料,所以剪下要快;不同分割槽之間的操作,複製更快。當然這個差距你可能感覺不到,都是向新的地址中生成新的資料,但是剪下多了一步要把原來的資料刪掉,所以複製更快。

        

         程式碼就是我的語言, 下面,我來模擬同一分割槽下的複製和剪下:

#include <iostream>
using namespace std;typedef struct data{ int a; bool b; char c; short d;}Data;int main(){ Data x; x.a = 1; x.b = false; x.c = 'w'; x.d = 2; Data y = x; // 複製, 費時費力 Data *p = &x; // 剪下,輕鬆搞定 return 0;}

       再來模擬 不同分割槽
下的複製和剪下:

#include <iostream>using namespace std;typedef struct data{ int a; bool b; char c; short d;}Data;int main(){ Data x; x.a = 1; x.b = false; x.c = 'w'; x.d = 2;  // 複製 Data y = x;  // 剪下(相對費時) Data z = x;  x.a = 0; x.b = false; x.c = '\0'; x.d = 0return 0;}

       閒扯完畢。


        

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述