原创 C++ 學習(右值引用, std::move)

參考: http://www.cnblogs.com/lebronjames/p/3614773.html 1.std::move執行一個無條件的轉化到右值。它本身並不移動任何東西; 2.std::forward把其參數轉換爲

原创 iOS 學習(深拷貝 淺拷貝)

copy與mutableCopy的區別,如果學過c或者c++的朋友會知道指針這樣一個概念,就是在有指針的情況下,淺拷貝只是增加了一個指針指向已經存在的內存 而深拷貝就是不僅增加了一個指針,並且還申請了一個新的內存,是這個新增加的指

原创 oc 學習(歸檔)

歸檔是一個過程,用某種格式來保存一個或多個對象,以便以後還原這些對象。通常, 這個過程包括將多個對象寫入文件中,以便以後讀取。 屬性列表歸檔和帶鍵值歸檔 使用xml屬性列表進行歸檔 如果對象時NSString , NSDictio

原创 OC 運行時系統

Google OC 方法簽名 的時候突然發現了這個 感覺不錯 : http://www.imooc.com/wenda/detail/244088 http://my.oschina.net/charsunny/blog/

原创 c++學習(函數模板, 類模板)

函數模板 模板形參不能爲空。一但聲明瞭模板函數就可以用模板函數的形參名聲明類中的成員變量和成員函數,即可以在該函數中使用內置類型的地方都可以使用模板形參名,聲明瞭形參,而沒有使用,會不通過編譯。額我的是這樣 template

原创 盛最多水的容器

class Solution { public: int maxArea(vector<int>& height) { int maxarea = 0, l = 0, r = height.size() - 1;

原创 leetcode

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(i

原创 深入理解計算機系統學習(1)

源文件:0, 1 組成每行以一個看不見的’\n’結尾, 執行一個源文件分四個階段:預處理, 編譯,彙編,連接 .i 文件:.c文件預處理後生成 .ii文件: .cpp文件預處理後生成 預處理階段:預處理器(cpp

原创 字符串轉整數 (atoi)

class Solution { public: int myAtoi(string str) { int64_t ans = 0; int first = 0; for (aut

原创 兩個排序數組的中位數

給出兩個有序數組nums1, nums2, 求 nums1 + nums2的中位數, 並且時間複雜度要求0(log(n+m)) 思路: 時間複雜度log,並且數組有序, 所以進而可以想到用二分的方法。 由於數組有序。那麼假設我們將數

原创 正則表達式

int m = s.length(), n = p.length(); vector<vector<bool> > dp(m + 1, vector<bool> (n + 1, false)); dp[

原创 AVL-TREE

#include <iostream> #include <stdio.h> using namespace std; typedef int keyType; struct BinaryTreeNode { keyType ke

原创 http 長連接 短連接

HTTP短連接(非持久連接)是指,客戶端和服務端進行一次HTTP請求/響應之後,就關閉連接。所以,下一次的HTTP請求/響應操作就需要重新建立連接。 HTTP長連接(持久連接)是指,客戶端和服務端建立一次連接之後,可以在這條連接上進行多

原创 紅黑樹

紅黑樹 紅黑樹是一種二叉查找樹, 每個節點有一個存儲位,表示顏色, red or black, 通過任何一條從根到葉子的路徑上的各個節點的着色限制,紅黑樹確保沒有一條路徑會比其他路徑長2倍,因而是接近平衡的。 1.紅黑樹性質

原创 unix 網絡編程 卷一(unp.h)

UNP 這本書好多函數都寫成了包裹函數,需要搭建相應的環境,其中有一條命令是 sudo cp libnup /usr/lib 可是由於 Mac OSX10.11後系統增加了 rootless 機制,這樣的話我們即便是root權限也不能去訪