Time of Update: 2018-12-03
有虛函數的類都有一個虛函數表,它是實現多態的關鍵。 虛函數表可以繼承,如果子類沒有重寫虛函數,那麼子類虛函數表中仍然會有該函數的地址,只不過這個地址指向的是基類的函數實現。如果子類重寫了相應的虛函數,那麼虛函數表中的地址就會改變,指向自身的函數實現。如果衍生類別中有自己的虛函數,那麼虛函數表中會添加該項。 每個對象調用的虛函數都是通過虛函數表 指標來索引的,因此虛函數表指標的正確初始化是非常重要的。虛函數表指標應該在什麼時候、什麼地方初始化呢?
Time of Update: 2018-12-03
問題:
Time of Update: 2018-12-03
方法應該是一樣的,我的是綠色版的UltraEdit 16.00.0.1032版本,windows 7系統開啟UltraEdit所在的目錄,在wordfiles此目錄下建立一個檔案,內容如下: /L14"Fortran 90" Nocase Line Comment Num = 2! Line Comment Alt = !! String Chars = "' DisableMLS File Extensions = F90 FOR FTN F/Delimiters = ~
Time of Update: 2018-12-03
僅僅是好看一些嗎? 轉載時請註明出處:http://blog.csdn.net/absurd/ 今天看BLOG上的留言,其中有一句話大意是說,僅僅是好看一些罷了,沒有什麼實際用處。他是針對一個模擬器說的,那個模擬器不是我寫的,我不過是寫了一篇關於構建那個模擬器短文罷了。這句話本身對我沒有什麼影響,況且我相信那個模擬器有很大實際價值的。本文並非是因為不能接受反面觀點而寫,相反我只想澄清一個觀點。 這裡不必強調模擬器真正的價值,我想說的是:即使模擬器真的沒有其它實用價值,僅僅是“好看”這一點,它的價
Time of Update: 2018-12-03
Ulrich Drepper神牛的文章《What Every Programmer Should Know About
Time of Update: 2018-12-03
1、快速鍵:Alt+Ctrl+F插入一個腳註,Alt+Ctrl+D插入一個章節附註 要重新開始自動編號時,必須在插入後繼腳註之前先插入一個分節符號:選擇菜單“插入”→“分隔字元”,設定“分節符號類型”為“連續”。插入下一個腳註時,給“起始編號”設定一個適當的值,“將更改應用於”設定為“本節”。 2、以下三步即可去掉文檔上的橫線: 1)、開啟文檔後,在“插入”中開啟“頁首”,選第一項“空白”項,即插入空白頁眉。 2)、在“開始”中的“字型”裡點選“清除格式”按鈕(字型大小右邊的第三個按鈕)。
Time of Update: 2018-12-03
淺複製指的是完全按照記憶體中的資料內容進行的複製行為,即無論原資料類型是什麼,都忠實地將其複製到目標記憶體地區中。C++編譯器預設的複製建構函式以及賦值函數執行的都是淺複製。如:class A{public:A(int i):m(i){}private:int m;};A a(2);A b(a); 淺複製對於指標會存在問題:指標被複製而不是指標所指的對象被複製,即指標類型資料的內容是一個記憶體位址,如果原樣複製則意味著兩個不同的指標成員指向了同一塊記憶體地區,如p2 = p1;
Time of Update: 2018-12-03
Time of Update: 2018-12-03
首先,FORTRAN數組的索引下界預設情況下為1。 FORTRAN中的數組是按“列元素最佳化”的規則進行儲存的。C語言中的數組則是按照“行元素優先”的原則進行儲存,並且C語言中數組的下標下界固定是從0開始的。在FORTRAN中,使用DO迴圈進行高效數組操作的代碼寫法,可能是在C語言中恰恰是最低效的。 FORTRAN讀取檔案時,逐行讀取檔案內容,然後在記憶體中按列儲存。print 和write函數,按列輸出。 program test1 integer temp, b(
Time of Update: 2018-12-03
可以用_onexit註冊一個函數,它會在主函數之後執行(好像只能在windows上面運行)。#include <stdio.h>#include <stdlib.h>/* Prototypes */int fn1(void), fn2(void), fn3(void), fn4 (void);int main( void ){ _onexit( fn1 ); _onexit( fn2 ); _onexit( fn3 ); _onexit( fn4
Time of Update: 2018-12-03
因為cache的內容是部分主存內容的副本,應該與主存內容保持一致。而CPU對cache的寫入更改了cache內容,如何與主存內容保持一致就有幾種寫操作工作方式可供選擇,統稱為寫策略。 1.寫回法(write--back) 當CPU對cache寫命中時,只修改cache的內容不立即寫入主存,只當此行被換出時才寫回主存。這種策略使cache在CPU-主存之間,不僅在讀方向而且在寫方向上都起到快取作用。對一cache行的多次寫命中都在cache中快速完成修改,
Time of Update: 2018-12-03
[root@localhost ~]# yum install kernel-develLoaded plugins: fastestmirrorExisting lock /var/run/yum.pid: another copy is running as pid 3703.Another app is currently holding the yum lock; waiting for it to exit...Another app is currently holding the
Time of Update: 2018-12-03
緩衝(cache)大小是CPU的重要指標之一,其結構與大小對CPU速度的影響非常大。簡單地講,緩衝就是用來儲存一些常用或即將用到的資料或指令,當需要這些資料或指令的時候直接從緩衝中讀取,這樣比到記憶體甚至硬碟中讀取要快得多,能夠大幅度提升cpu的處理速度。CPU與cache之間的資料交換是以"字"為單位,而cache與主存之間的資料交換是以"塊"為單位,一個塊由若干字組成,是定長的,以體現"儲存下級儲存空間剛才被存取過的資料及其鄰近小範圍的資料"這一概念。CPU進行儲存空間讀操作時,根據主存地
Time of Update: 2018-12-03
#include <stdio.h>int main( void ){int a = 4;//a += a++;//a += (++a);++a += a++;printf( "%d\n",a);return 0;}這個應該有固定的結果. 彙編代碼如下:int a = 4;0102310E mov dword ptr [a],4 //a += a++;//a += (++a);++a += a++;01023115 mov eax,dword
Time of Update: 2018-12-03
Time of Update: 2018-12-03
因為論文需要CPU cache的相關資訊,但intel官方網站上http://ark.intel.com/#desktopprocessors只能查到L2 cache的大小。於是從網路上找到了linux系統下查看Cache大小的兩種方法。第一種方法就是從開機資訊中尋找:[root@c0106 papi]# dmesg |grep cacheDentry cache hash table entries: 524288 (order: 10, 4194304 bytes)Inode-cache
Time of Update: 2018-12-03
#include <iostream>using namespace std;void Swap1(int &a, int &b) { a = a + b - (b = a); }int main(){int a = 4, b = 5;cout << "before swap: ";cout << "a = " << a << ", b = " << b << endl;Swap1(a,
Time of Update: 2018-12-03
用word 2007進行文字排版,有時候會需要將不同的章節單獨編頁,比如說,每一節的頁面都是1,2,3,……,這可以通過插入分隔字元一實現,分隔字元包括分頁符和分節符號。 分節符號就是把一篇文檔分成幾份,每一份都可以編輯自己的頁碼(每一節的頁碼可以從1或任何數字開始,也可以設定成整個文檔都連續)。 具體操作為:在當前章節的前一頁的末尾,插入一個"連續"的分隔字元,即"頁面配置"--"分隔字元"--"連續""連續"是在當前游標處插入一個分節符號,新節從當前頁開始。
Time of Update: 2018-12-03
[root@localhost /]# yum groupinstall virtualizationLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * rpmforge: apt.sw.be * base: ftp.isu.edu.tw * updates: data.nicehosting.co.kr * addons: ftp.isu.edu.tw * extras:
Time of Update: 2018-12-03
虛擬機器管理者串連失敗Unable to open a connection to the Xen hypervisor/daemonVerify that: - A Xen host kernel was booted - The Xen service has been startedDetails:Unable to open connection to hypervisor URI 'xen:///':libvirt.libvirtError