摘要:
進程間通信 進程間通信(Inter-Process Communication,IPC)是指在不同進程之間進行數據交換和信息傳遞的機制。常見的通信方式有:管道、消息隊列、共享內存、信號量、socket。 管道(Pipe) 無名管道: 特點:只能在具有親緣關系的進程之間使用(如父子進程)。它是半雙工的
閱讀全文
摘要:
類型推導 類型推導是C++的一種特性,允許編譯器自動推導變量的類型,而不需要顯式地制定類型。 auto auto用于讓編譯器自動推導變量類型,常見用法: 基本示例: auto x = 10; 與容器一起使用: vector<string> names = { "Alice", "Bob"}; for
閱讀全文
摘要:
C++面向對象編程的四大特性: 封裝:封裝是隱藏對象的屬性和實現細節,僅對外公開接口,控制程序對類屬性的讀取和修改。良好的分裝能減少耦合,同時隱藏實現細節。 抽象:抽象包括數據抽象和過程抽象。數據抽象關注于目標的特性信息,過程抽象關注于目標的功能是什么,而不是功能怎么實現。 繼承:繼承是子類繼承父類
閱讀全文
摘要:
“零”值比較 bool flag; if (flag) {} int flag; if (0 == flag) {} float flag; const float EPSINON = 0.000001; if (flag >= -EPSINON && flag <= EPSINON) {} siz
閱讀全文
摘要:
這個思路比較簡單: 對兩個數組排序,計算數組和 計算當前差值 和較大的數組從前到后,較小的數組從后到前,比較數值的差值,如果差值的2倍小于數組和的差值就進行交換,直到數組和差值不再減小 //簡單的插入排序 void sort_arr(int *arr, int size) { int tmp, i,
閱讀全文
摘要:
網上有很多類似的問題,這個問題是一次面試前的代碼手寫題。簡單的思路是: 由于數字按照由大到小的順序,所以第一個數最大,要滿足這個要求,A<0>必須≧N/M,如果不能整除,A<0>≧(N/M)+1; 所有數字最小是1,所以A<0>最大值是N-M+1; 遞歸找出(M-1, N-A<0>)的組合; //輔
閱讀全文