原创 【整理自用】清奇思路(三)正解整數分解成不同加數的最大乘積

1.問題描述 設 nn 爲一自然數, nn 可分解成若干個不同的自然數的和。這樣的分法有很多種:比如 n=10n=10 , nn 可按照下述方式分解: 編 號 分解方式舉例 1. 10=5+4+1; 2.

原创 【整理自用】C++函數傳遞

這個本來是沒什麼需要說明的,但是偏偏是錯了幾道題,發現自己思考不夠嚴謹。 1. 搞清楚到底在說那個變量 函數傳遞,確實存在着值傳遞、址傳遞和引用傳遞三種。但是要搞清楚着通常是對於什麼變量而言的。 以下三個是所謂的值傳遞,值傳遞和

原创 【整理自用】fork()函數(二)

在我博客的fork()函數(一)中提到: 一個進程調用fork()函數後,系統先給新的進程分配資源,例如存儲數據和代碼的空間。然後把原來的進程的所有值都複製到新的新進程中,只有少數值與原來的進程的值不同。 這篇就詳細說明一下:

原创 【整理自用】一些數據結構題目、思路

Vector動態實現 思想: vector在定義時預留了一部分內存空間來用於存儲新增的元素。 當添加元素時,如果vector空間大小不足,則會以原大小的兩倍另外配置一塊較大的新空間,然後將原空間內容拷貝過來,在新空間的內容末

原创 【整理自用】格式輸出結果

牛客上有一些題目,只需要看輸出格式就可以了,不用想太複雜。 1. 不管是有符號數還是無符號數,printf控制輸出如果%d之類的,顯示在屏幕上的都是有符號數。所以有些題目不用想那麼複雜。 題目:下列C程序執行後c輸出結果爲(

原创 C語言未定義行爲

寫在前面的話: 原文鏈接爲:https://blog.csdn.net/qq_29169813/article/details/51416281。感謝博主,是真的結合自己的感受寫出來的,而且練習題哈哈哈和我遇上的也是一樣的。我申

原创 【整理自用】計算機運算符

運算優先級記憶 運算優先級 從下向上: 逗號是最低的; 所有和賦值運算有關的運算符優先級都是最低的。(=,<=,+=,<<=等等) 與、或等邏輯運算(但非運算等級是第二位的) 表達式之間的關係運算

原创 c++千萬級別高併發網絡編程(六)

服務器功能添加,客戶端升級爲select新增新增內容服務器新增代碼客戶端新增代碼 新增 新增內容 當有新的客戶端加入時,服務器通知其他客戶端 客戶端升級爲select模型,以便可以接受服務器的發送通知 服務器新增代碼 在命令

原创 c++千萬級別高併發網絡編程(五)

將服務器模型升級爲select模型新增新增內容新增代碼部分代碼詳解fd_setselect代碼 新增 新增內容 加入select模型 新增數組,存儲所有客戶端socket 將監聽客戶端代碼移動到select模型中。 新增代碼

原创 [整理自用] c++百萬級別高併發網絡通信(一)

文章目錄基礎API簡易TCP客戶端與服務端基礎模型搭建簡易TCP服務器代碼詳細解讀:創建套接字詳細解讀:綁定bind詳細解讀:監聽listen詳細解讀:ACCEPT詳細解讀:send簡易TCP客戶端代碼 視頻學習地址 基礎AP

原创 c++千萬級別高併發網絡編程(四)

利用網絡報文傳輸數據新增內容網絡報文定義新增後的代碼v1.0服務器整體代碼客戶端整體代碼代碼詳解:報文使用代碼詳解:新增登陸登出部分代碼修正修正內容修正部分代碼:詳解服務器修正代碼 新增內容 新增包頭:描述本次傳輸數據的大小和作

原创 c++千萬級別高併發網絡編程(三)

發送結構化網絡消息爲什麼需要修正結構化消息新增內容服務器整體代碼客戶端整體代碼幾點說明 爲什麼需要修正 結構化消息 這裏是指使用結構體傳輸數據。 需要考慮字節序對齊,如果客戶端和服務器編程語言相同,且在同一環境下,通常字節是相同

原创 c++千萬級別高併發網絡編程(二)

持續性處理網絡請求新增內容服務器整體代碼客戶端整體代碼 新增內容 客戶端能夠持續處理請求,直至用戶選擇退出 服務器端接受客戶端的請求,並針對性做處理 服務器整體代碼 #define WIN32_LEAN_AND_MEAN #d

原创 清奇思路(六)從1到n整數中1出現的次數

1.題目描述 2. 清奇思路:如何找數字規律判斷每一位有幾個“1” 2.1 舉例子找規律 2.1.1百位爲例,百位上至少有多少個“1” 2.1.2 如果X>1(即X爲2~9) 2.1.3 如果X==0 2.1.4 如果X==1 2

原创 【unix網絡編程】用select改進客戶端服務器程序

待解決問題 select函數 1.select參數詳解 2.select返回值 改進的代碼閱讀 針對批量改進 把fgets改掉的原因 待解決問題 之前的代碼無法感知服務器進程發來的 FIN 段,如果服務器崩潰,客戶需要