作者kipi91718 (正港台湾人)
看板C_and_CPP
标题[闲聊] 如何禁用特定的STL容器或函式
时间Thu Dec 8 11:46:04 2016
大家好,
我从以前就有一直这个问题,
在大学里面像是资料结构、演算法这种课程,
一定会希望学生自己去实作一些基础的功能,
而这些功能又常是STL等等函式库里有提供的,
如果作业的批改当中没有办法一一的去看学生的code,
要如何避免学生偷懒去使用某些特定的container或function?
最简单最直观的方法,就是针对每一份code去移除code里面这些被include的header,
甚至去把那些lib直接从原本的路径移开或者重新命名。
可是有什麽比较有效率的做法吗?
例如在makefile当中去禁止,
或者用写一些可以让编译器预处理掉这些lib的code。
不知道大家有没有什麽经验?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.114.85.135
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1481168767.A.2B5.html
1F:→ shadow0326: #ifdef _GLIBCXX_VECTOR 就 #error 之类的? 12/08 12:03
2F:→ Sylveon: 114我不是很想告诉你,可以加-D_GLIBCXX_VECTOR 之类的 12/08 12:49
3F:→ Sylveon: 把一些东西弄掉 12/08 12:49
4F:→ Caesar08: 如果学生直接找source code贴上呢? 12/08 12:55
5F:→ Sylveon: 有人这样干过啊,可是那位本来就很强,要不要认真实作是 12/08 13:15
6F:→ Sylveon: 学生的事,一直搞下去也只会变成补洞大会而已,也有可能 12/08 13:15
7F:→ Sylveon: 把其他正常的Code搞烂 12/08 13:15
8F:推 james732: 我之前当助教,程式作业都会一个一个看耶QQ 12/08 13:17
9F:→ x000032001: 限定只能写C 12/08 13:19
10F:→ stupid0319: 会有天才学生写出神CODE来搞助教的吗 12/08 13:23
11F:→ CoNsTaR: 我大一的时候读了几本深入剖析 stl 之类的书 资结作业我 12/08 13:34
12F:→ CoNsTaR: 都比照 SGI stl 的写 还记得不过是一个 linked list 我写 12/08 13:34
13F:→ CoNsTaR: 了两天 总共 1100 多行 XD 12/08 13:34
14F:→ Sylveon: 有的~ 12/08 13:35
15F:→ CoNsTaR: 当时其实还满担心助教说我是复制贴上 stl 的,不过还好没 12/08 13:36
16F:→ CoNsTaR: 有 12/08 13:36
17F:→ pttworld: 撰写简易读取资料夹底下程式档案逐行比对之程式。 12/08 14:03
18F:推 chchwy: 这种简单的批次文字扫描用grep吧 12/08 17:03
19F:→ chchwy: 不然用notepad++也可以对整个目录搜寻 不需要自己看 12/08 17:03
20F:→ kipi91718: 感谢大家的意见 贴上整个source code的这个 能成功也只 12/08 18:24
21F:→ kipi91718: 能说本来就很厉害XD 12/08 18:24
22F:推 Ommm5566: 有办法 但是出作业的人负担会比较大 12/11 13:26
23F:→ Ommm5566: 你写好一个template框架 然後要求学生去Inheritance这个 12/11 13:28
24F:→ Ommm5566: 框架去扩充完成作业 12/11 13:28
25F:→ Ommm5566: 甚至连main()里面都写好,要求这边不能动 12/11 13:30
26F:推 Ommm5566: 不过这样已经有点TDD味道了 12/11 13:32
27F:推 wtchen: Coursera有些C++的课就是这样弄的。 12/11 17:40