- 主题:学C++,有什么比较好的带答案的习题集吗?
my 2 cents:
初学不要抠语法和edge case
选择性地去做leetcode,有很多top的答案代码质量很高
--
FROM 221.220.133.*
我澄清一下,我说的不抠语法指的是类似一个函数会是哪个namespace里的,是模板定义的还是重载,什么时候自动类型转化和推断之类的。我记得在The C++ programming language这书中没少看到这类的超级细节
“严格的语法习惯”指的是什么?是类似Google C++ Style Guide之类的吗?
【 在 zollow 的大作中提到: 】
: 我觉得,不抠语法,代码会写得很随意,结果就是一堆编译错误,看不到结果。而且对
: 于今后养成严格的语法习惯也没有帮助。
:
: ...................
--
FROM 221.220.133.*
还是不要瞄着language lawyer去比较好。绝大多数人不需要去做language lawyer
很多leetcode题目是算法没错,不过当算法不是障碍的时候,那里的投票高的代码相当于免费的code review
如果看了答案还是在花很多时间想题目怎么做出来,那这个阶段不适合用leetcode学语言
【 在 here080 的大作中提到: 】
: 学C++当然在抠语法。
: leetcode学的是算法,跟语言关系不大。
:
--
FROM 221.220.133.*
leetcode上面是分语言的,C语言写leetcode的几乎没有,因为没有stl,没有人愿意去拿c语言写的。几乎没有人愿意每道题重新写一个map实现的,即使有,和题目的关联度太低,也不大可能获得高票。
高票确实有一部分原因是算法好,但是稍微看一下,太容易找到用stl用的好的代码了。
学cpp,不抠特别奇怪的case,很快就会过度到学用标准库的阶段,并且会卡上那么一阵。
不排除我错误理解lz阶段的可能 :)
【 在 here080 的大作中提到: 】
: 抠语法跟学C++标准是两码事
: 除非你自己直接读ISO标准,否则成不了lawyer
: leetcode上题的解答,撇开算法,就代码本身写得好不好跟是否高赞一毛钱关系没有。
: ...................
--
FROM 221.220.133.*
这个好像是,modern C++的使用是缺憾
另外libgcc例子也很尖锐,C++17还没那么普及。
smart pointer不怎么用很可能是ownership太简单,用stl+递归的话,没有太多题目需要显式在堆上分配内存的
【 在 here080 的大作中提到: 】
: 没有正经用C++的。一般都是C+STL
: 而且因为LEETCODE沙盒的特点,上面的人喜欢用C数组,因为比vector快。
:
--
FROM 221.220.133.*