#include /*
//版本1:
namespace n;
void f(b& b)
};n::b b;
void main()
*//*
//版本2:
namespace n;
void f(int a)
};n::b b;
void main()
*///編譯出錯。找不到f這個識別符號。善於動腦子的人問題就來了:為什麼版本1就沒有這個問題呢?
//因為版本1使用koening查詢技術。利用f(b)的實際引數b所在的名字空間,得知需要查詢n名字空間的f。
//此技術的大名是:adl(argument-depentment lookup)
//問題又來了:為什麼koening要發明這個東西呢?我寫n::f(10)或者using n::f;也能解決問題呀!
//版本3:
namespace n;
b operator+(b& l, b& r)
};void main()
//總結:要像成員函式呼叫語法一樣便捷,發明了adl技術。
// b.f(); //無需指出f處於哪個名字空間,即 b.b::f()這樣的怪物。
// f(b); //普通函式也能做到這一點。
3 Struts2之咬文嚼字
讀文章可以咬文嚼字,讀 也可以。今天隨意 隨意是指讀哪個類很隨意,讀起來實際是咬文嚼字 地閱讀struts2的幾個類的 有點心得,特記錄如下。在eclipse的workspace中,很自然會先讀org.apache.struts2 這個包的類,因為它是最前面顯示。strutsstatics 介面沒有...
BasicBolt和IRichBolt之間的區別
irichbolt繼承自ibolt,ibolt會使用outputcollector來傳送元組。public inte ce ibolt extends serializableoutputcollector有兩個用於傳送元組的函式 後續component會向acker傳送ack響應。listemit...
strcpy memcpy和memset之間的區別
今天刷題時遇到了這個問題,記錄一下。strcpy比較簡單,就是拷貝字串,遇到 0 時結束拷貝。memcpy用來做記憶體拷貝,可以拷貝任何資料型別的物件並指定拷貝資料的長度 char a 100 b 50 memcpy b,a,sizeof b 總結一下 strcpy和memcpy主要有以下3方面的區...