摘要:
我一向赞同一个理念: 用代码实现简单逻辑是不需要注释的, 因此我也就不写注释了, 直接上代码:#include #include #include inline int Parent (const int i){ return std::move( i % 2 ? (i - 1)... 阅读全文
摘要:
有时代码看起来是正确的, 可实际上就会有一些没想到的疏忽, 考察以下代码:std::deque ideq{ 5, 13, 2, 25, 7, 17, 20, 8, 4};std::priority_queue priorityQueue (ideq.begin(), ideq.end());for ... 阅读全文
摘要:
1. 关心你的技艺. 没错, 开发软件是一个工程, 但是个人的技艺并不会就此埋没在其中2. 思考你的工作. 设法理解你面临的每个问题的内在本质; 首先抓住事实, 而不是照搬别人的说法.3. 提供各种选择. 不找蹩脚的借口. 要为自己的过错负责, 而不是找一个蹩脚的借口, 那无法改变事实, 不要说做不... 阅读全文
摘要:
前几天处理工作方面的事情, 确实耽误了几天, 导致博客停更了, 今天上午看到算法导论的堆排序, 想用 C++ 实现下, 就当练练手了.算法导论里使用的是起始编号为 1 的容器, 那么实现的方法要不就是把 STL 容器打包, 自己建一个起始编号为 1 的容器, 要不就按照起始编号为 0 的来. 想了一... 阅读全文
摘要:
考虑下面这个虚拟继承:class Point3d: public virtual Point{ Point3d(float x = 0.0, float y = 0.0, flloat z = 0.0) :Point(x, y). _z(z){} Pooint(const ... 阅读全文
摘要:
继承前的准备前一篇博客的三个 Point 声明, 将为继承性质以及某些操作的动态决议做准备, 现在咱们限制对_z 的存取操作:class Point{public: Point(float x = 0.0, float y = 0.0, float z = 0.0) :_x(x), _y... 阅读全文
摘要:
考虑以下代码:Point global; //1)Point Foobar(){ Point local; //2) Point *heap = new Point; //3) *heap = local; ... 阅读全文
摘要:
考察以下代码:class AbstractBase{public: virtual IBase() = 0; virtual Interface() const = 0; virtual const char* Member() const {return _memb... 阅读全文
摘要:
#include #include DWORD WINAPI ThreadFunc (LPVOID);int main (){ std::ios::sync_with_stdio(false); HANDLE hThrd = NULL; DWORD threadId = 0; ... 阅读全文
摘要:
考察以下代码:#define IDENT 0#define OP *typedef int data_t;typedef struct{ long int len; data_t *data;}vec_rec, *vecptr;vec_ptr NewVec(long int len){ ... 阅读全文