編程知識扯淡大雜燴
大小端
把大小端拿出來扯淡,是因?yàn)楹嗴w中文的翻譯很扯淡。而繁體的大尾序/小尾序卻比較好,沒有歧義。大端序(英:big-endian)或稱大尾序。
小端序(英:little-endian)或稱小尾序。
https://zh.wikipedia.org/wiki/%E5%AD%97%E8%8A%82%E5%BA%8F
理解方式一:理解方式二:
Programming-languages--C
Programming-languages--C.pdf窗口console
INIT
AllocConsole();
freopen("CONOUT$", "w", stdout);
std::cout << "This works" << std::endl;
DEINIT
FreeConsole()
扯個(gè)構(gòu)造函數(shù)不要調(diào)用虛函數(shù)的淡
今天要扯的淡是,在C++構(gòu)造函數(shù)里不要調(diào)用虛函數(shù),哈哈哈扯個(gè)bit field(位段)的淡
這個(gè)蛋可以拿來扯的一個(gè)原因是中文維基說,“位段在本質(zhì)上是不可移植”,不嚴(yán)謹(jǐn)。然后看下修訂歷史,果然有不嚴(yán)謹(jǐn)?shù)目赡堋?unsignedintopaque:1;
我的奮斗---一個(gè)三角形一生的自傳
Life of a triangle - NVIDIA's logical pipeline在最后,三角形被顯卡的GPC單元瓜分了
扯個(gè)">>="的淡
gap>>=1一個(gè)右移并賦值的操作
扯個(gè)struct與class造的孽
世人都說在C++里struct與class沒區(qū)別,除了默認(rèn)private權(quán)限不一樣,還有模板的中class與typename都可以作為類型參數(shù)struct卻不行,再沒其他區(qū)別了。我今天想說的是,這些都是扯淡,放屁,區(qū)別大著呢。你為了最小依賴前置聲明了class Foo,但是定義的時(shí)候用的struct Foo,丫可以正常編譯,卻在鏈接的時(shí)候報(bào)錯(cuò),丫是VC++2015,扯了個(gè)天大的蛋。
扯個(gè)Amazon GameLift Server SDK的淡
這個(gè)蛋可以扯的原因是兩行命令行就可以完成構(gòu)建,編譯一條龍服務(wù),生成的solution文件里還看不到C++源碼扯個(gè)overridding和overloading的淡
簡單來說,overridding就是覆蓋,overloading就是重定向。扯淡的是,在計(jì)算機(jī)里2個(gè)行為只能死記,其實(shí)名字不變行為互換在字面上也是可以的。
overriddingoverloading
polymorphism(多態(tài))
多態(tài)(英語:polymorphism)指為不同數(shù)據(jù)類型的實(shí)體提供統(tǒng)一的接口。數(shù)學(xué)符號
https://zh.wikipedia.org/wiki/數(shù)學(xué)符號表<占位標(biāo)題>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>將5個(gè)上限為64的數(shù)字放入一個(gè)32位的內(nèi)存中
//將5個(gè)上限為64的數(shù)字放入一個(gè)32位的內(nèi)存中
public void SetFlag(int slot, uint value)
{
Debug.Assert(value < 64, "value<64 ");
int shift = dir * 6;
con = (uint)((con & ~(0x3f << shift)) | ((value & 0x3f) << shift));
string text = System.Convert.ToString(con, 2).PadLeft(32, '0');
}
public int GetFlag(int slot)
{
return ((int)con >> dir * 6) & 0x3f;
}

