Project 0:c++ primer

Project 0 :C++ Primer

前言:这个项目主要是考查初学者对于C++语言特性的熟练程度,建议先学习C++,在学习本课程。

预备技能

  1. 类与继承
  2. 虚函数
  3. 模板
  4. stl里的智能指针,这里的话特别是unique_ptr
  5. std::move语法
  6. Lambda 表达式

主要实验步骤

在这个项目中,你将实现三个类。矩阵、RowMatrix和RowMatrixOperations。这些矩阵是简单的二维矩阵,必须支持加法、矩阵乘法和一个简化的通用矩阵乘法(GEMM)操作。

你只需要修改一个文件:p0_starter.h 你可以在BusTub资源库中找到这个文件,地址是 src/include/primer/p0_starter.h。

在这个头文件中,定义了你必须实现的三个类。Matrix抽象类定义了派生类RowMatrix的公共函数。RowMatrixOperations类使用RowMatrix对象来实现上面概述中提到的操作。文件中指定了函数原型和成员变量。该项目要求你填写所有构造函数、解构函数和成员函数的实现。不要添加任何额外的函数原型或成员变量。实现应该只包括已经定义的函数。
代码不公布,需要私戳。

本地测试工具

在build目录下面进行

$ make starter_test
$ cd test/
$ ./starter_test

这是最基本的测试,用于初步检查,接着是Gradescope测试。

Gradescope 测试

注册与使用方法
在进行使用该工具之前,必须要进行格式检查,否则无疑是浪费时间。
在bulid目录下进行:

$ make format
$ make check-lint
$ make check-clang-tidy

这个只是初步的格式检查,上传的方法,我个人使用的是zip文件上传,
在主目录下面进行

zip solution.zip src/include/primer/p0_starter.h

这个的文件目录很重要,千万不可直接压缩,最后上传即可。
后面仍然会遇到各种报错,参考这篇文章
进行修改即可。

测试结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值