原创 C++類內存分佈

轉自http://www.cnblogs.com/jerry19880126/p/3616999.html 書上類繼承相關章節到這裏就結束了,這裏不妨說下C++內存分佈結構,我們來看看編譯器是怎麼處理類成員內存分佈的,特別是在繼承、虛

原创 DNS解析過程詳解

先說一下DNS的幾個基本概念: 一. 根域 就是所謂的“.”,其實我們的網址www.baidu.com在配置當中應該是www.baidu.com.(最後有一點),一般我們在瀏覽器裏輸入時會省略後面的點,而這也已經成爲了習慣。

原创 萬向節死鎖(Gimbal Lock)歐拉角表示旋轉的缺陷

萬向節死鎖(Gimbal Lock)歐拉角表示旋轉的缺陷 假如我們有一個望遠鏡和一個用來放望遠鏡的三腳架,(我們將)三腳架放在地面上,使支撐望遠鏡的三腳架的頂部是平行於地平面(參考平面)的,以便使得豎向的旋轉軸(記爲x軸)是完全地垂

原创 爲什麼空的主機名不能設置CNAME記錄

很多用戶來信問這個問題。用戶添加的zone,空的主機名意味着zone自身。假如您給zone自身創建一個CNAME記錄,就會遇到衝突,因爲zone至少有SOA記錄,還可能有NS記錄、MX記錄。而CNAME不能與任何其他類型的同名記

原创 Makefile經典教程(掌握這些足夠)

 makefile很重要       什麼是makefile?或許很多Winodws的程序員都不知道這個東西,因爲那些Windows的IDE都爲你做了這個工作,但我覺得要作一個好的和professional的程序員,makefile還

原创 ASCII,Unicode和UTF-8

ASCII碼 在計算機內部,所有的信息最終都表示爲一個二進制的字符串。 每一個二進制位有0和1兩種狀態,因此八個二進制位就可以組合出256種狀態,這被稱爲一個字節。 一個字節一共可以用來表示256種不同的狀態,每一個狀態對應一個符

原创 邏輯題:假設河的同一側有警察、強盜……

假設河的同一側有警察、強盜、路人A、路人A的兩個孩子(A1,A2)、路人B、路人B的兩個孩子(B1、B2),他們想要安全過河,限制條件如下: 1、假設警察不在,強盜會殺死所有的跟他在一起的人 2、假設路人A離開,路人B和路人A的孩子在一起

原创 C++開發中的pImpl方法

    pImpl方法是微軟的Herb Sutter提出來的,該方法是爲了儘量減小接口和實現之間的耦合,以避免接口改動對程序重新編譯等帶來的影響。簡單來說,如果你的大型程序因爲複雜的頭文件包含關係,使得你

原创 lib和dll文件的區別和聯繫

什麼是lib文件,lib和dll的關係如何 (2008-04-18 19:44:37)    (1)lib是編譯時需要的,dll是運行時需要的。 如果要完成源代碼的編譯,有lib就夠了。 如果也使動態連接的程序運行起來,有dll就夠了。 

原创 C++ 11新特性:移動構造函數和移動賦值操作符

節選自http://blog.csdn.net/jofranks/article/details/17438955 移動構造函數 在C++11中新加入的特性! 在上一篇blog中我加入了一張圖,可以具體看到移動構造函數的運行原理

原创 簡明Vim練級攻略

文章轉載自http://www.ccvita.com/487.html 前言 今天看到這篇文章,共鳴點非常多。它把Vim使用分爲4個級別,目前我自己是熟練運用前面三級的命令,在培養習慣使用第四級。完全就是我這一年來堅持使用Vim的過

原创 java中不帶package和帶package的編譯運行方式

java中不帶package的程序和帶package的程序編譯的方式是不同的。 一、不帶package的程序 建立個HelloWorld.java的文件,放入C:\,內容如下: public class HelloWorld {   

原创 Unity3d中transform.position.set無效的問題

最近在用Unity3d的時候發現一件很詭異的事情。 當使用下面句子的時候,物體的位置並沒有被成功設置成x,y,z。 transform.position.Set(x, y, z); 而換用下面句子的時候則可以成功設置。 transf

原创 struct iphdr中的__LITTLE_ENDIAN_BITFIELD和__BIG_ENDIAN_BITFIELD

__LITTLE_ENDIAN_BITFIELD表示小端序,__BIG_ENDIAN_BITFIELD表示大端序。 /usr/include/linux/ip.h中有一段代碼定義了ip首部的結構體,如下: struct iphdr {

原创 c++引用計數實現

#include <iostream> #include <stdio.h> using namespace std; class String { public: String(const char *pdata);