原创 關於操作系統的幾個常被問的問題

在32位x86體系 32位linux內核下 1.地址映射由誰來完成? 內核(GDT LDT PD PT)-硬件(MMU) MMU完成從線性地址到物理地址的映射 2.爲什麼說32位的Linux 的邏輯地址和虛擬地

原创 STL中部分函數的實現

1.迭代器 普通迭代器: Container::iterator it = con.begin(); 常量迭代器:只能讀不能修改 調用*元運算符重載,返回值爲const。 Container::const_iter

原创 繼承和多態

進程在創建的時候先是創建虛擬地址空間,並不是真正的一塊空間,而是創建了一個數據結構(《程序員的自我修養》第6章 進程的創建) 繼承和多態: 1)繼承就是對代碼的複用 2)由於構造和析構只在自身所在的類的作用域下起作用,因此基類的

原创 迭代器

迭代器的編寫Cstring 嵌套類(訪問私有成員) 類似普通指針 遍歷容器 #include<iostream> #include<string> using namespace std; class Cstring {

原创 MYSQL-----索引

索引 (索引是對錶上一列或者多列進行排序的結構,提高對錶中數據的查詢速度,不同存儲引擎所支持的索引數不同,至少支持16個索引,索引長度256字節,索引有兩種存儲類型,Btree和hash,一般默認爲btree) 索引的優點是對於那

原创 MYSQL-----數據庫的操作及存儲引擎的選擇

下面說到的mysql數據庫的操作都是在linux環境下,由於時間有限,就不截圖上傳,大家可以在自己Linux系統下進行操作。(前提保證你的linux平臺安裝了mysql數據庫) 1.數據庫的操作: 1)登陸數據庫

原创 MYSQL-----數據查詢(續)

3.使用集合函數查詢。經常和group by連用 1)sum() 字段值的總和 sum只能進行數值類型的計算,int,float,double,decimal類型等,如果計算字符類型字段時,結果均爲0. eg:select

原创 MYSQL---查詢數據

查詢數據 1.基本查詢語句 select 屬性列表 from 表名和視圖列表 [where 條件表達式1] [group by 屬性名1[having 條件表達式2]] [order by 屬性名2[ASC|DESC]

原创 MYSQL-----觸發器

觸發器 觸發器是由 INSERT,UPSET,DELETE等事件來觸發某種特定操作。 滿足觸發器的觸發條件時,數據庫系統就會執行觸發器中定義的程序語句。這樣可以保證操作的一致性。 example: 當學生表中新增了一個學生

原创 智能指針---shared_ptr和weak_ptr

智能指針主要解決被多個對象引用時,資源如何釋放的問題。 下面介紹一下boost庫中的shared_ptr和weak_ptr: Shared_ptr:當進行拷貝和賦值操作時, shared_ptr所指向的對象的引用計數都會增加,一旦

原创 STL庫

近容器:char buff[1024] string bitset(操縱位) Vector自定義類型實例化 ——- T()僞構造 Vector內置類型實例化 ——– 0 Vector

原创 簡單排序

#include <stdio.h> #include <stdlib.h> #include<assert.h> #include<time.h> //count用來記錄次數 int count1 = 0; int coun

原创 快速排序

#include <stdio.h> #include <stdlib.h> #include<assert.h> #include<time.h> //count用來記錄次數 int count1 = 0; int coun

原创 MYSQL---數據庫中表的操作

在數據庫中創建表 1.首先選中一個數據庫 use example;//example爲數據庫名 2.創建表: create table example0(id int,name varchar(20),sex boolean);

原创 數據庫表的查詢

數據庫的查詢: /選擇查詢結果輸出列/* 1.表示選擇一個表或視圖中的所有列 SELECT * FROM STUD WHERE 專業='計算機' 2.選擇一個表中的指定列 SELECT 學號,姓名,總學分 FROM STUD WHERE