除錯了一下午的begug,太坑爹了。。多虧了gdb。。
如果乙個類裡面的有儲存資料,還過載()操作符做為仿函式,過載的函式向類裡存資料。這樣類似for_each(a.begin(), a.end(), stor); 因為for_each中stor是值傳遞,會導致先呼叫copy建構函式,這樣資料就被儲存在了新構造的類裡,並沒有存在實際引數stor中,導致資料丟失。。可以使用
std::for_each(a.begin(), a.end(), boost::bind(&classname::memfunction, &stor, _1));
的方式傳函式指標。
附帶類stor的示例**:
class stor
void operator()(classname &b)
void memfunction(classname &b)
private:
listlist;
};
附帶boost::bind用法:
MySQL宕機可能導致2種丟資料的場景
1 引擎層提交了,但binlog沒寫入,備庫丟事務 2 引擎層沒有prepare,但binlog寫入,主庫丟事務 即使我們將引數設定成innodb flush log at trx commit 1和sync binlog 1,也還會面臨這樣一種情況 主庫crash時還有binlog沒傳遞到備庫,如...
PHP mail 可能導致的問題
參考文獻 題目 環境 php version 5.2.0 phpmailer 5.2.18 php 沒有安裝 pcre no default safe mode false default 題目class mailer return escapeshellarg email public funct...
Nexus CoPP導致的有規律的丟包
剛剛登入到使用者的環境中想測試一下網路連通性,在一台接入交換機上ping核心nexus交換機上的乙個位址,觀察ping結果發現,ping1000個包,就會丟4個包,ping2000個包就丟8個包。兄弟,挺有規律的啊!我又換了核心上其它的位址測試,現象相同。但是在這台接入交換機上ping其它路由器的位...