1.vector是在堆上還是棧上? 在堆上.
2.我們發現指標有一些「似是而非」的特徵:
(1)指標消亡了,並不表示它所指的記憶體會被自動釋放。比如函式中的指標是區域性變數,如果它指向了堆上,而自己出了函式後消亡了,但它所指向的記憶體還是存在的,導致了記憶體洩漏.
(2)記憶體被釋放了,並不表示指標會消亡或者成了null 指標。
3. c++中有些過載賦值運算子為什麼要返回引用
4.在linux寫**好的方式:
visual studio + visual assist + vmware + 共享資料夾
(在虛擬機器中安裝linux,把linux的系統的標頭檔案拷出來,加入va的包含路徑,然後用vs在共享資料夾中建立專案,並在vs中編寫**,最後在linux中執行makefile)
5.cpu任何時候發出的位址都是虛擬位址,這個虛擬位址發給mmu後,mmu通過頁表在頁表裡面查出這個虛擬位址對應的實體地址是什麼,從而去訪問外面的記憶體條
6.核心執行緒就是核心的分身,乙個分身可以處理一件特定事情。核心執行緒的排程由核心負責,乙個核心執行緒處於阻塞狀態時不影響其他的核心執行緒,因為其是排程的基本單位。
7. 原子操作是指不會被執行緒排程機制打斷的操作;這種操作一旦開始,就一直執行到結束,中間不會有任何 context switch (切[1] 換到另乙個執行緒)(程式對訊號量的操作都是原子操作)
8.map,vector的析構中帶有垃圾**機制,不需手動清空.
9共享記憶體在不同程序中對映的位址一樣嗎?
不一樣.同一塊物理記憶體被對映到程序a、b各自的程序位址空間.但是可以通過os的幫助得到他們在不同程序的虛位址.
一些知識點
字串拼接 1.a join b a為元素之間的分隔符,b為待分割的序列 可用於輸出時的資料處理,元素間有空格,末尾沒有 2 s s s str1,str2,str3 前半部分為字串,後半部分為索引。用於引入,s是物件 3.format str1,str2,str3 與f 括號裡為已有變數 關於for...
一些知識點
1 sln 解決方案檔案 csproj 專案檔案 cs 原始檔 解決方案包含多個專案,每個專案都是乙個程式。config 配置檔案 3 const int a 1 const 定義乙個量為常量,運算中用到當常量使用,不可以再重新賦值。4 型別轉換。1 隱式轉換。從值型別轉換成引用型別。從引用型別轉換...
一些知識點
column name 列名稱 information schema.columns 表示所有列的資訊 在整個mysql裡面 information schema 表示所有資訊,包括庫 表 列 information schema.tables 表示所有表的資訊 table schema 資料庫的名...