原创 構造/析構/賦值 函數

條款10:令operator=返回一個reference to *this 賦值操作符運算是由右向左運算的。例如一個連鎖賦值 [cpp] view plain copy   <span style="font-siz

原创 以對象管理資源、在資源管理類中小心coping行爲、在資源管理類中提供對原始資源的訪問

在系統中,資源是有限的,一旦用完必須歸還給系統,否則可能會造成資源耗盡或其他問題。例如,動態分配的內存如果用完不釋放會造成內存泄漏。 這裏說的資源不僅僅是指內存,還包括其他,例如文件描述符、網絡連接、數據庫連接、互斥鎖等。 在任何情

原创 fork調用拷貝緩衝區

fork在創建子進程時,子進程會拷貝父進程的緩衝區。下面是一道經常見到的筆試題。 輸出多少個"-“? [cpp] view plain copy   <span style="font-size:14px;">#i

原创 最多有多少個點在一條直線上

 最多有多少個點在一條直線上  描述 筆記  數據  評測 給出二維平面上的n個點,求最多有多少點在同一條直線上。 您在真實的面試中是否遇到過這個題?  Yes 樣例 給出4個點:(1, 2), (3,

原创 Linux中getopt()函數用法

1、getopt() 2、getopt_long() 下面來講getopt_long函數,getopt_long函數包含了getopt函數的功能,並且還可以指定“長參數”(或者說長選項),與getopt函數對比,getopt_l

原创 使用valgrind檢查內存使用問題

介紹安裝使用 使用未初始化內存越界使用內存內存泄漏兩次釋放內存使用已經釋放的內存不匹配使用newdelete或newdelete 介紹 Valgrind是用於內存檢泄漏檢測、內存調試以及性能分析的工具集。這裏主要介紹其用與內存相

原创 當你輸入一個網址,實際會發生什麼?

英文原文:What really happens when you navigate to a URL,編譯:寒冬星空 作爲一個軟件開發者,你一定會對網絡應用如何工作有一個完整的層次化的認知,同樣這裏也包括這些應用所用到的技術:像瀏

原创 gdb調試多線程

gdb使用 gdb是非常強大的調試工具,在文本模式下使用。使用方法可以參考陳皓的兩篇文章 用GDB調試程序(一) 用GDB調試程序(二) gdb常用命令在下表列出: 命令 描述 backtrace(或bt) 查看各級函數調用及

原创 考慮寫出一個不拋出異常的swap函數

條款25:考慮寫出一個不拋出異常的swap函數 swap是STL中的標準函數,用於交換兩個對象的數值。後來swap成爲異常安全編程(exception-safe programming,條款29)的脊柱,也是實現自我賦值(條款11)的

原创 千里之行,始於足下的博客園《Linux內核設計與實現》讀書筆記

當前標籤: linux-kernel 1、《Linux內核設計與實現》讀書筆記(一)-內核簡介 wang_yb 2012-08-15 23:33 閱讀:1719 評論:2   2、《Linux內核設計與實現》讀書筆記(二)-

原创 進程創建

1、許多其它操作系統提供spawn產生進程的機制。 而Unix採用與衆不同的方式,它把上述步驟分解到兩個單獨的函數中去執行:fork()和exec()。 首先,fork()通過拷貝當前進程創建一個子進程、子進程與父進程的唯一區別就在一

原创 心跳包機制及Socket通信服務的心跳包

本文轉自http://www.cppblog.com/tx7do/archive/2009/11/09/100513.html http://xue08161981.blog.163.com/blog/static/3249967720

原创 Trie樹(c++實現)

原理 先看個例子,存儲字符串abc、ab、abm、abcde、pm可以利用以下方式存儲       上邊就是Trie樹的基本原理:利用字串的公共前綴來節省存儲空間,最大限度的減少無謂的字串比較。 應用       Trie樹

原创 無鎖編程:lock-free原理

定義 無鎖編程是指在不使用鎖的情況下,在多線程環境下實現多變量的同步。即在沒有線程阻塞的情況下實現同步。這樣可以避免競態、死鎖等問題。 原理 CAS是指Compare-and-swap或Compare-and-Set  CAS是一個原

原创 教你怎麼提高網速 最全提高網速方法

教你怎麼提高網速 最全提高網速方法 導語:在默認情況下Windows會限制百分之二十的網速,但是我們完全可以解除這個限制!下面爲大家介紹不同系統下怎麼提高網速。 在默認情況下Windows會限制百分之二十的網速,但是我們完全可