代码之家  ›  专栏  ›  技术社区  ›  GurdeepS

C++背景下的C++学习

c++
  •  0
  • GurdeepS  · 技术社区  · 15 年前

    我想学习C++,因为我将从事图像识别等工作。

    我在C有几年扎实的经验,而且我用C做了很多东西,所以我没有缺乏经验。什么是一本有助于我完成转型的好书(因为这是我的主要技能,所以我仍然会做C)?

    另外,你是否同意,擅长C++,大量的经验和精通C语言会有帮助?因为C++更难…

    谢谢

    6 回复  |  直到 13 年前
        1
  •  2
  •   BostonLogan    15 年前

    另外,你同意这样做吗? 在C++中,有很多经验和存在。 精通C会有帮助吗?因为C++是 更努力。。。

    是的,我同意。在我看来,任何一种语言的发展都有很多经验。经验带来了对最佳实践的欣赏。这些做法可能是不同的,但你不会因为知道(根据你的经验)它们通常对你有好处而直接抛弃它们。
    好书…用“有效的(更有效的)C++”获得“C++底漆”,你就可以全部设置了。然后,如果你需要STL,那就让你自己成为“有效的STL”。祝你好运

        2
  •  1
  •   thrag    15 年前

    既然你已经知道了C,你已经知道了比C++更多的语法。在C++语言中,很少需要用到的C++语法元素。

    以下是我认为您看到的一些挑战的主要方面:

    a)C++中的很多很多构造在C++中是不可用的。我说的是语言特性而不是数据类型。也就是说,一般集合等…在C++语言中可以得到类似的结果,但在C++中却有很多工作要做。

    b)您选择的库/框架确实会大不相同。

    c)为什么不把两者混合起来呢?他们在一起玩得很好。您的图像处理工作在C++库中,但将工作保持在最小值,并将整个内容用C语言包在UI中消费。当然,互操作性将是另一个挑战,但它在Web上有很好的文档记录。

    就好书而言…没有比史蒂夫·麦康奈尔的“代码完成”更好的了。

    http://cc2e.com/

    祝你好运。

        3
  •  0
  •   Randolpho    15 年前

    我没有关于这个问题的任何链接,但我可以提供一些一般性的建议。

    1. 请记住,您不再具有内存管理功能。你 删除你的指针。
    2. 在C++中,结构和类之间没有物理差异。两者都是基于您如何使用它们而存在于堆或堆栈上的。在C中,结构是一个值类型,它位于堆栈上,而类是一个引用类型,它位于堆栈中。在C++中,Strut默认具有公共成员可见性,而类默认情况下具有私有成员可见性;就是这样。在C++中,类型(类或结构)默认存在于堆栈上,如果声明为指针(并新建它),则只能在堆上生存。
    3. 学习标准模板库(STL)。这很容易是C++所能做的最好的事情。
    4. 学会讨厌微软基金会类库(MFC),但要学会使用它。如果你在C++中做Windows开发,你几乎必须这么做。
        4
  •  0
  •   Prasoon Saurav    15 年前

    另外,你是否同意,擅长C++,大量的经验和精通C语言会有帮助?因为C++更难。

    是的,我同意你的观点,C++更难。实际上,它被认为是最复杂的编程语言之一。它的语法(在某些地方)与C语言和Java相比有点丑,但是是的,它是行业中使用最广泛的语言之一,所以它是幸运的。

    就好书而言,我会同意的

    1)Stan Lippman的C++入门(强烈推荐)
    2)Bruce Eckel对C++的思考

    和风格书籍一样有效和更有效的C++ Scott Mayers。

    除此之外,C++的“圣经”是“StruouStruts的C++编程语言”。

    享受!

        5
  •  0
  •   Serge    15 年前

    实际上,我是从另一个角度来做转换的。我不会说C++是硬的。尽你所能做到。在内存分配、指针、类型转换等方面,有一定的标准可遵循,但随着深入的了解,这并不是什么无法解决的问题。

    事实上,(有些人可能会认为这是一个过份)如果我是你,我会尝试得到一个体面的汇编书,并阅读关于寄存器,内存地址,堆栈,堆等的前几章,我认为它会为你画一个更好的图片,当你开始与内存管理混乱,这可能是最难掌握的C/C++。

        6
  •  0
  •   Chris Frederick    13 年前

    我在大学里学习C++,发现了 Dietel book 非常彻底。

    精通C语言有帮助,但C++更接近C语言。