原创 STL:vector的基本使用

目錄   vector的構建 vector的插入  vector的排序  vector的構建     vector<int> vec1;    //不帶參數的構造函數初始化     vector<int> vec2(10);    //初

原创 STL:string獲取字符串元素:[]和at()

字符串中元素的訪問是允許的,一般可使用兩種方法訪問字符串中的單一字符:下標操作符[] 和 成員函數at()。 兩者均返回指定的下標位置的字符。第 1 個字符索引(下標)爲 0,最後的字符索引(下標)爲 length()-1。 使用 []

原创 MySql:索引的分類、創建、刪除

目錄   一、索引的介紹 二、索引的分類 三、索引的創建與刪除 一、索引的介紹 索引:是創建在數據庫表中,是對數據庫表中的一列或者多列的值進行排序的一種結果。 作用:提高查詢效率(B樹 / 哈希結構) 索引優點: 提高查詢效率 索引缺點:

原创 MySql:索引的底層原理

  索引的底層原理 MySQL支持兩種索引,一種是B-樹(B樹)索引,一種是哈希表索引,這兩種索引的查詢效率較高。 MYSQL中InnoDB存儲引擎是(基於B-樹 ,實際MYSQL採用的是B+樹) 的索引結構。 B-樹的特點: B-樹是一

原创 STL:set的API

目錄 set 構造、賦值、插入、刪除 set 查找操作 set是一種關聯式容器,特性如下: set以RBTree作爲底層容器 不允許出現鍵值重複 set容器只提供 insert()方法,因爲它自動進行排序 不能通過迭代器來改變set的值

原创 MySql:索引的執行過程

  explain命令:可以查看SQL的執行計劃,分析SQL是否正確使用索引。 student 表如下: student 表存儲的數據如下: 用explain查看下面SQL語句的執行計劃: explain分析SQL執行過程時: po

原创 MySql:三範式

目錄 1. 第一範式(1NF:每一列保持原子特徵) 2、第二範式(2NF): 解決方案:只要不存在複合主鍵 3、第三範式(3NF): 解決方案:實體單獨建表 範式總結:1NF:確保每列保持原子性2NF:確保表中的每列都和主鍵相關3NF:確

原创 MySql:事務的ACID特性

目錄 一、事務概念 二、事務的ACID特性 一、事務概念 定義: 一個事務是由一條或者多條SQL語句所組成的一個不可分割的單元,只有事務中的所有操作都正常執行完,那麼整個事務才能被提交到數據庫。如果有部分事務處理失敗,那麼事務就會回退到最

原创 fork()的底層實現

當進程調用fork後,當控制轉移到內核中的fork代碼後,內核會做4件事情: 1.分配新的內存塊和內核數據結構給子進程 2.將父進程部分數據結構內容(數據空間,堆棧等)拷貝至子進程 3.添加子進程到系統進程列表當中 4.fork返回,開始

原创 C++:繼承與多態(2)

繼承方式: 私有繼承:has_a 關係 保護、公有:is_a 關係 隱藏:(有,看不見)繼承關係下,不同的作用域。 覆蓋:(不存在)派生類裏面的同名函數把基類的覆蓋了(相當於替換) 基類和派生類的相互指向 #include<iostre

原创 MySql:where 子查詢

where 子查詢   五種子句是有 嚴格的順序的 where,group by,having,order by,limit 查詢每個欄目中最新的產品 所有的商品 是一個大塊 每個欄目 即按欄目分 每個欄目中 還要找出 各自的小塊 即 每

原创 C++:智能指針(auto_ptr)

智能指針:        在C++中使用堆內存是非常頻繁的操作,堆內存的申請和釋放都由程序員自己管理。使用普通指針,容易造成堆內存泄露,二次釋放等問題,使用智能指針能更好的管理堆內存。C++11中引入了智能指針的概念,方便管理堆內存。 棧

原创 C++:智能指針( scope_ptr)

新智能指針的加入: C++11之前,智能指針只有 auto_ptr 一種,但是後來發現它並不能很好的保證指針的安全可靠性,隨之又出現了 shared_ptr     unique_ptr     weak_ptr   scope_ptr

原创 STL:swap收縮vector空間

目錄 size 與 capacity區別 resize()並不能縮容 size 與 capacity區別 size 表示vector中元素的個數,此方法是返回該vector對象當前有多少個元素。 capacity 表示vector可容

原创 設計模式:觀察者模式

C++中簡單的事件通知: 調用接口 觀察者設計模式: 監聽者:處理事件 觀察者:觀察事件,當有事件到來,通知監聽者處理事件 假如: Listener1 感興趣 1 2 事件 Listener2 感興趣 2 3 事件 Listener3 感