原创 C/C++ 備份函數的指針參數

指針參數 在C/C++代碼中常見這樣的寫法 void p_ptr_test(char *ptr) { char *p = ptr; // ... } 函數參數傳入一個指針參數時 會複製一個指針來操作 而不直接操作

原创 內部類:Java和C++的不同實現

內部類 內部類是在一個類中定義的另一個類 Java和C++都支持這麼做,且內部類和繼承是不同的,這兩種行爲在內存排布上截然不同. 舉C++爲例: 繼承: class Derived : public Base { xxx };

原创 美圖 C/C++工程師 面試總結

技術面試 上週去美圖公司面試C++工程師 有兩位面試官 一位面試官問了一些數據結構相關的問題 另一位面試官則問了一些項目相關的問題 交流比較順暢 和他們的交流也反饋給我一些信息 原來工作中有些地方可以做的更好 比如代碼的耗時點的

原创 object-c 單例模式

單例模式 通常C++或Java實現單例模式的方法是這樣的: C++: class test { public: test *getInstance() { if(!mSelf) {

原创 堆排序算法

堆排序 堆排序利用了二叉樹的結構 二叉樹的原理和實現:http://blog.csdn.net/qq_21358401/article/details/79329523 堆排序的大致過程: 1. 排序選出n個數中最大的一個 2.

原创 WebRTC 連接Linux端和Android端

跨平臺連接 WebRTC的通常連接流程: http://blog.csdn.net/qq_21358401/article/details/79190561 WebRTC SDP協議: http://blog.csdn.net/q

原创 不實踐 = 知識快速消退

知識的遺忘 晚上研究了一會object-c編程 發現因爲過年 中途幾天沒有接觸object-c 前幾天研究的語法居然陌生了不少 自己寫的代碼都不知道怎麼回事了 看來不經常的使用某項技術 知識很容易快速的遺忘 應當時時學習 多寫代

原创 opencv入門使用

opencv opencv是開源的計算機視覺庫 可以用於圖像處理的應用和學習 mac opencv環境安裝 1. opencv的安裝 brew install opencv 2. xcode配置 1. 配置頭文件搜索路

原创 數據結構:二叉搜索樹

bst 二叉搜索樹(Binary Search Tree)可以用來解決數據的查找問題. 鏈表,隊列等線性數據結構可以存儲數據 但在數據的查找,排序方面效率不高 二叉搜索樹則兼具了數據的存儲和查找,能用來解決涉及數據查找的問題

原创 冒泡排序算法

普通排序算法 最簡單的排序算法(升序): 假設有n個數據 1. 比較前後兩個數a和b 如果 a > b 則交換a和b的位置 2. 重複比較 1和2 2和3 直到 n-1和n爲止 3. 循環重複上訴流程n次 代碼實現 void s

原创 Object-C 函數參數語法

Object-C函數參數 Object-C的函數參數語法比較特別 通常的編程語言比如Java和C++ 都是 void p_fun_test(int array, int size); shell的函數參數則是匿名的 通過$1這樣的

原创 Git 查看某次commit的內容

Git show 知道commit id的情況下: 1. 獲取commit id git log 2. 查看commit內容 git show commit_id 查看最近n次提交的修改 git log -

原创 數據結構:優先隊列

優先隊列(priority_queue) 優先隊列具備隊列的通用特性:先進先出(FIFO) 元素由隊列尾部插入 出隊列的元素則具有當期那隊列中最高的優先級 優先隊列這種模型 被應用於os的多任務輪轉 當可以執行任務時 任務隊列

原创 Object-C property生成變量存取方法

@property property關鍵字 用於簡化代碼 C++類中常見的做法 class test{ public: void setVal(int val) { mVal = val; }

原创 Git commit生成patch

Git commit 每一個git的commit都會帶有一個commit id git log可以顯示出當前分支內所有的提交歷史 從最近的提交到最舊的提交 每一個提交的commit id類似這樣 commit 88f07a