原创 關於“內存對齊”

對於大部分程序員來說,“內存對齊”對他們來說都應該是“透明的”。“內存對齊”應該是編譯器的 “管轄範圍”。編譯器爲程序中的每個“數據單元”安排在適當的位置上。但是C語言的一個特點就是太靈活,太強大,它允許你干預“內存對齊”。如果你想了解更

原创 C++技術感想 -- 禁止類的複製構造函數和賦值操作符的使用

有些類是不希望產生被複制或賦值的(甚至堅決拒絕),但若不爲類定義複製構造函數和複製操作符時系統將自動按值複製或賦值,因此簡單的不去定義這兩個函數無法起到禁止的作用。現總結方法如下: 1,在類無友元的情況下,將複製構造函數和賦值操作符聲明爲

原创 C++中的內存劃分

       在C++中,內存分成5個區,他們分別是堆、棧、自由存儲區、全局/靜態存儲區和常量存儲區。   棧,就是那些由編譯器在需要的時候分配,在不

原创 Effective STL: Item 44:優先使用與泛型算法同名的成員函數

item 44:優先使用與泛型算法同名的成員函數 一些容器擁有和stl泛型算法同名的成員函數。關聯容器提供count()、find()、lower_bound()、upper_bound(),和equal_range(),而list提供了

原创 C/C++中隨機數的生成函數和播種子的函數

隨機數生成函數:int rand( void ); 播種子函數: void srand( unsigned int seed ); 例:  void main( void )     {           int i;        

原创 編程技術感想——用取模運算代替判斷後得到的高效性

  假如, 我們在設計一個循環隊列,預先分配一段內存空間使其容量爲capacity。當隊尾指針(可用一個指示序號的整型變量實現,其永遠指向最後一個元素的下一個位置)指向物理空間上的最後一個存儲單元時,此時再插入元素,因爲隊列可能並未真滿,

原创 類設計者的核查表

1,你的類需要一個構造函數嗎?2,你的數據成員是私有的嗎?3,你的類需要一個無參構造函數嗎?4,是不是每個構造函數初始化所有的數據成員嗎?5,類需要析