进入高级C的最佳方式是什么?

前端之家收集整理的这篇文章主要介绍了进入高级C的最佳方式是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
而对于可能被调用的人来说,你有什么建议可以转到下一级的C编程,那么中间C程序员呢?

中级程序员:理解ISO C相当好,可以读取和修改别人的代码,运气好,数据结构和算法不错,但不好

>学习C 0x
>了解为不同的构造类型生成什么样的汇编代码,也许是x86
>忘记语言的细微差别并获得基本原理 – 从Sipser或PapadimitrIoU等地的自动机理论
>如果你知道OOP或至少认为你这样做,考虑如何将功能编程技巧与C结合起来
>在像LLVM或GNU Toolchain这样的编译器和开放源代码上工作
>整个想法被打破 – 下一个层次意味着更复杂的数据结构.所以如果你知道AVL,考虑学习左倾的红色黑树等

现在显然没有人可以在这个列表中做任何事情,没有优先级,所以我们需要一些建议,可能是最好的方法.

注意:感谢大家非常有帮助的答复.

解决方法

回答你的具体问题:

Learn C++0x

你肯定需要这样做所以可能你有你的答案在那里…

Learn what kind of assembly code gets generated for different construct
types,maybe for x86

我会说,学习如何理解编译器生成的汇编语言,如果不详细的话,请大致了解.然而,您当然不应该试图预测编译器将会做什么.

Forget language nuances and get the fundamentals — automata theory from
somewhere like Sipser or PapadimitrIoU

如果它打开你,我想…

If you know OOP or at least think you do,consider how to incorporate
functional programming skills with C++

在C支持的所有范例中,功能编程可能是最受支持的 – 如果你想学习FP,学习Haskell(或任何),而不是C.

Work on something on the lines of a compiler and open-source like LLVM or
GNU Toolchain

GNU是用C编写的,所以它不太可能提高你的C技能 – 我对LLVM知之甚少.

The whole idea is busted — the next level means more sophisticated
data structures. So if you know AVL,
consider learning left leaning red
black trees et al

RB树并不比AVL树更复杂 – 同样的基本概念.如果您了解数据结构教科书中涵盖的基本结构,我看不到需要进一步挖掘,除非您对此主题感兴趣.

猜你在找的C&C++相关文章