這樣的函數存在:取代現有運營商<<:覆蓋現有的實施
std::ostream& operator<< (std::ostream &out, const boost::dynamic_bitset<> &v) {
for (unsigned i = 0; i < v.size(); ++i) {
out << int(v[i]);
}
return out;
}
希望覆蓋它,使用這樣的事情。 :)
std::ostream& operator<< (std::ostream &out, const boost::dynamic_bitset<> &v) {
for (unsigned i = 0; i < v.size(); ++i) {
if (i && v[i]) {
out << ", " << i;
}
}
return out;
}
顯然C++不會允許這樣做。你如何克服這一點,並使用另一種日誌記錄功能?
由於C++中「override」的具體含義,我已經將標題更改爲「supercede」。 –
@AmiTavory如何取代XYZ操作符;覆蓋當前現有的定義?'。我喜歡使用正確的術語,所以imho supersede比替代(覆蓋的重載意義)更好。 – zehelvion
@zehelvion在那裏我們去:-) –