CMU15445 lab0 C++ PRIMER

这个lab用来检测CPP知识的掌握

开始

我这里为了做B+树的lab,需要将现在的bustub回退到2020

// 将代码回退到某一版本,head 指向当前的目标版本,删除之后的所有版本
git reset --hard 444765a
// 检查一下是否回退到正确的版本
git log
// (强制)提交更改
git push -f

这时注意cmake构建会出如下错误

解决方法,做出图片标红处的修改,第一处是由于WSL2自己的问题,对于https地址的clone会出问题,所以需要修改成ssl

一些知识点

  • #pragma once
  • Matrix<T>::r
  • 这不是个二维指针吗
  • make ckeck-lint函数大括号后面不能加;并且一定要有override
  • for和if的statement必须放到括号里
  • 多个变量声明要分行,不然会使得可读性降低
  • gradescope的文件得这样,真是有够怪的
mkdir -p src/include/primer/
  • 注意由于unique_ptr不能够复制给别人,需要调用move
  • 注意,为什么子类RowMatrix无法直接使用父类Matrix的成员?

    模板类继承模板类 子类看不到父类成员
  • 之前在gradescope中交lab老是遇到这种情况,后来在lab1make check-lint给我指出来了,说是我用了move函数,但是没有include,加上这个头文件就好了
posted @ 2022-02-17 23:50  抿了抿嘴丶  阅读(697)  评论(0)    收藏  举报