原创 《Boost程序完全開發》跟蹤學習訓練一:Boost::date_time庫的使用

主要是記錄個人如何按照Boost程序完全開發一書去學習入門Boost庫 書中第一個是date_time庫首先我們看一下怎麼去用 #include <boost\timer.hpp> #include <boost\progress.hp

原创 C++類模板中使用異常知識點

這一篇主要記錄了類模板中使用異常類的知識點 類模板中使用異常類的時候,異常類同樣可以進行模板化 下面通過這個小案例來明白這個知識點 #include <iostream> #include <cstring> using namespa

原创 Android解析自定義屬性的XML實現底部導航欄TabSelectedView,實現靈活的配置擴展

自定義View底部導航欄需要實現常用的功能 如同所有的底部欄 1:界面達到自定義 2:跳轉達到自定義 3:導航數量達到可配置 這三個功能要求我們地步導航欄必須可拓展可配置 先上圖看一下我們怎麼實現可配置的底部導航欄 由於我現在開發的

原创 C++模板實現list,迭代器

這篇博文主要是幫助去了解STL List與迭代器 算法實現的原理 讓我們更明白STL容器的封裝 迭代器與智能指針的關係  算法的封裝 我們主要是通過鏈表的實現 下面看一下模板實現紫的鏈表 節點元素的封裝: #pragma once te

原创 C++數據類型轉換知識點

#include <iostream> using namespace std; class Father{ public : int time; virtual void run(){ cout<< "Fatner is

原创 Android自定義View貝塞爾曲線最佳實現

先看一下效果圖 主要是通過貝塞爾曲線去控制繩子的繪製,就直接上代碼了 package yuekong.com.progressview; import android.animation.Animator; import andr

原创 C++ allocators將構造函數,析構函數與分配內存解耦

allocators分配器的作用就是將分配內存與構造函數,析構函數脫離,提高運行效率減少成本。new和delete操作符把內存空間的分配回收與對象的構建銷燬緊緊關聯在一起。 #include <iostream> #include <me

原创 C++類模板與函數模板 & 類模板繼承

函數模板與類模板其實就是Java裏面的泛型編程,只作爲抽象的模板,使用時需要指定具體的類型才能實例 下面就看類模板最典型的案列就能明白了: #include <iostream> #include <initializer_list>

原创 C++拷貝構造函數的深拷貝與淺拷貝知識點

#define _CRT_SECURE_NO_DEPRECATE #include <iostream> using namespace std; class MyString{ public: char* pstr; in

原创 C++函數包裝器與引用包裝器,函數綁定器的使用

函數包裝器,主要用於模板中函數的使用 #include <iostream> #include<functional> using namespace std; template<class T , class F> T testR

原创 C++引用數組,函數指針,函數指針數組,結構體數組等學習

這篇博文主要介紹瞭如何在C++11  VS2013編譯器上去實現各種引用,避免因爲編譯器不同造成的語法困難 1:引用數組,二維數組 ,數組指針 #include <iostream> using namespace std; void

原创 C++ new delete new[] delete[]重載實現

這篇博文主要是分析了C++ new()和構造函數的執行,delete()與析構函數的調用方式,通過全局重載和局部重載看清楚調用的關係 using namespace std; #include <iostream> #include <c

原创 C++ std::move原理&右值引用存在的必要性

在學習C++的過程中一直搞不懂爲什麼要存在右值引用,將左值引用變爲右值引用 個人認爲就是減少拷貝構造,賦值重載過程內存開闢拷貝的次數,提高速度 我們現在看一段代碼: #include <iostream> #include <cstr

原创 C++ Boost::bind函數包裝器使用,boost::bind與僞函數的綁定使用

       在我們使用stl的 一些算法的時候,比如find_if,for_each等,需要使用仿函數,如果仿函數有2個參數,但是算法需要一個一元的仿函數的時候,我們可以使用適配器,boost庫中boost::bind就幫助我們定義了函

原创 C++ 智能指針shared_ptr模板實現原理

C++ 智能指針shared_ptr通過引用計數來管理指向的對象,不需要人工釋放 這篇博文主要是講解了智能指針的實現原理,怎麼實現引用計數 #include <iostream> using namespace std; namesp