Time of Update: 2015-04-09
標籤:項目需要C++代碼與flume對接,進而將日誌寫入HDFS。flume原生為java代碼,原先的解決方案是通過JNI調用flume java方法。但是由於一來對jni的調用效率的擔心,二來C++調用JNI需要照顧local reference和GC的問題,被搞得頭痛了。一怒之下,重寫代碼了,使用C++與遠端的JAVA Flume對接。在協議的選擇上,AVRO C++雖然也有apache的開源項目,但是目前只支援讀寫檔案,而不能使用RPC。故使用了thrift與遠端Flume thrift
Time of Update: 2015-04-09
標籤:這是前段時間看的書,整理到這裡吧,以後查看也方便。這些條款需要反覆查看。條款01:視C++為一個語言聯邦條款02:盡量用const、enum、inline替換#define條款03:儘可能的使用const條款04:確定對象被使用前已被初始化條款05:瞭解C++預設編寫並調用哪些函數條款06:若不想使用編譯器產生的函數,那就該明確拒絕條款07:為多態基類聲明virtual解構函式條款08:別讓異常逃離解構函式條款09:絕不在構造和析構過程中調用virtual函數條款10:令operator=
Time of Update: 2015-04-09
標籤:c++#include<iostream>#include<string.h>using namespace std;class string1{private: char *str;public: string1(const char *s) { str = new char[strlen(s) + 1]; strcpy(str,s); cout<<"structing:"
Time of Update: 2015-04-09
標籤:#include<iostream>#include<array>#include<vector>#include<algorithm>using namespace std;int
Time of Update: 2015-04-09
標籤:在 c++ 中 類的定義為 class 類名{};切記,類的定義完成後要加上分號,這是很多初學者容易犯的錯誤。 類的成員及函數 分為 public private protect 三類,大家學過 物件導向自然知道三者的區分。 在類中,很重要的一點是 建構函式,該函數沒有傳回值,可以定義多個。在使用中要注意ruclass student { public: stuent(); student(string a,int b);
Time of Update: 2015-04-09
標籤:關鍵字sizeof的作用是返回對象或類型佔用的記憶體位元組數,傳回值是size_t。基礎資料型別 (Elementary Data Type)佔用的位元組數:(32位系統)char 1位元組bool 1位元組short 2位元組int 4位元組long 4位元組float 4位元組double 8位元組
Time of Update: 2015-04-09
標籤:.NET 基礎類庫的System.Threading命名空間提供了大量的類和介面支援多線程。這個命名空間有很多的類。System.Threading.Thread類是建立並控制線程,設定其優先順序並擷取其狀態最為常用的類。他有很多的方法,在這裡我們將就比較常用和重要的方法做一下介紹: Thread.Start():啟動線程的執行; Thread.Suspend():掛起線程,或者如果線程已掛起,則不起作用; Thread.Resu
Time of Update: 2015-04-09
標籤: 正如每個c++程式員都應該知道的那樣,只有在程式通過指向基類對象的指標或者基類對象的引用調用虛函數時,才會發生運行時的多態現象。 這個模型的含義可能不太明顯。特別是對象的建立和複製不是運行時多態的,這一點嚴重地影響了類的設計。所以,容器(無論是類似於數組或者結構體的內建容器還是使用者自訂容器類)只能獲得編譯時間類型已知的元素值。如果有一系列類之間存在繼承關係,當我們需要建立、複製和儲存物件,而這些對象的確切類型只有到運行時才能知道時,則這種編譯時間的檢查會帶來一些麻煩。 通常,解決
Time of Update: 2015-04-09
標籤:當用$.ajax()向後台提交參數時,如果參數中數組的話一般在後台會用List<T>接收;但老是不成功如下面代碼var arr1=[{ "aa": "1", "bb": "2" }, { "aa": "3", "bb": "4"}];var arr2=[{ "aa": "1", "bb": "2" }, { "aa": "3", "bb": "4"}];function addUser(){ $.ajax({ url:‘UserAdd‘,
Time of Update: 2015-04-09
標籤:c++ 迭代器 標準 iterator 遍曆 1.C++11的新標準提供了一種新的遍曆方式:即for(<T>element : vector){//option }等價於原來的for (int i = 0; i < vector.size();
Time of Update: 2015-04-09
標籤:c++ 類 友元函數使用說明1)必須在類的說明中說明友元函數,說明時以關鍵字friend開頭,後跟友元函數的函數原型,友元函數的說明可以出現在類的任何地方,包括在private和public部分;2)注意友元函數不是類的成員函數,所以友元函數的實現和普通函數一樣,在實現時不用"::"指示屬於哪個類,只有成員函數才使用"::"範圍符號;3)友元函數不能直接存取類的成員,只能訪問對象成員
Time of Update: 2015-04-09
標籤:Form比Button的內容更多,這裡Buttton有的內容就不寫了屬性:(一)布局AutoScaleModeAutoScrollAutoScrollMarginAutoScrollMinSizeStartPositionWindowState(二)視窗樣式ControlBoxHelpButtonIconIsMdiContainerMainMenuStripMaximizeBoxMinimizeBoxOpacityShowIconShowInTaskbarSizeGripStyleTopM
Time of Update: 2015-04-09
標籤:1、類庫項目引用System.Windows.Forms並添加引用後,才可建立表單。2、控制台應用程式調用中間庫(DLL)中的方法建立表單;中間類庫使用反射下的Assembly載入包含表單的類庫及建立執行個體。注意:1)建立執行個體時,參數為表單類的全名(命名空間+類名)。 2)傳回值是Object類型,需轉化為Form類型。
Time of Update: 2015-04-09
標籤:需求:在不定時間段運行多個背景程式(winfrom,wpf,console,等等)用於更新資料。 問題:為什麼要使用計劃任務,而不直接在程式中使用一個計時器來出發呢?答:最明顯的一點,使用計時器程式一直在後台運行著,但需求中只需要一天運行一次,或一個月運行一次。一直後台跑著計時這不白浪費CPU資源麼。 解決方案:1.使用windows內建的計劃任務
Time of Update: 2015-04-09
標籤:看log和記錄的時候經常會用到,可以ref:http://www.cnblogs.com/esion/archive/2013/07/31/3227023.html屬性:(一)行為ActivationAlignmentAllowColumnReorderAutoArrangeColumns:重要GroupsHeaderStyleHideSelectionHotTrackingHoverSelectionItemsLabelEditLabelWrapLargeImageListMultiSe
Time of Update: 2015-04-09
標籤:public 空間 回收 姓名 7.建構函式和解構函式 在C++中,建構函式就是初始化類的執行個體即對象(開闢記憶體空間),建構函式就是銷毀對象(回收空間)。namespace ConsoleApplication7{ class Program {
Time of Update: 2015-04-09
標籤:方法的參數8.引用傳遞與值傳遞 新手要特別注意這個問題。值傳遞是通過副本傳遞的,引用傳遞則是把本身傳遞過去,在函數中可以修改值。 650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5D/DC/wKioL1UmAFHDnkdRAAHStBv6EDw030.jpg" title="`H[)O[Z[@A7_(PEO%}1$AGX.png " alt="wKioL1
Time of Update: 2015-04-09
標籤:空間9.輸出參數 用out修飾符定義的參數成為輸出參數。如果希望方法返回多個值,可使用輸出參數。輸出參數與引用參數類似,不會產生新的儲存空間。兩者的區別在於:out參數只能用於從方法中傳出值,而不能從方法調用處接受實參數值。在方法內的out參數認為是未賦值的,所以在方法結束之前應該賦值。650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5D/E3/wKiom1UmH9aiyqj5AAK8g2B33wM9
Time of Update: 2015-04-09
標籤:關鍵字10.參數數組 有的時候,在調用一個方法時,不能確定參數的數量,資料類型,一種解決辦法是使用param關鍵字指明一個輸入參數,此輸入參數被看作為一個參數數組,這種類型只能作為方法的最後一個參數。650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5D/DE/wKioL1UmJoiw9MbHAANP4MjJpdU909.jpg" title="HBGJRP101Y0IOE$G2W}{YM0.png"
Time of Update: 2015-04-09
標籤:關於a=0和a==0的解釋:如果:int a = 0;那麼a=0這個運算式是假,a==0這個運算式為真。如果:int a = 1;那麼a=0這個運算式是假,a==0這個運算式為假。舉個例子: int a = 0; if( a = 0 ) printf( "True" ); else printf( "False" );輸出:False.<span