目前我正与Java和其面向对象的设计方面的(我也有PHP/MySQL很多)。我不执行它的网页;我只是用它来设计方案一般用途。然而,现在我需要学习C,现在,我有一个利用C++.我 C编程语言, 有些人说是最好的书,该议题。可以有人告诉我什么将是最大的挑战,除的字符串的处理方式我认为有关程序设计,以及如何我的创建程序?我的理解是,我不能拥有的课程,但这将如何影响我具体而言(即我将不得不重新设计方法和始终设计一切想这是难以编辑)?还是跳转到C++从这些语言的硬?大家都说这是一个很难的语言,但是将以前的一些经验,帮助吗?与这一经验会 加速C++ 是很难的一本书以开始了?

感谢万美元。

有帮助吗?

解决方案

不要担心一个位。我开始用Java编程,然后转移到C ++。然后,我学会了x86汇编,现在我到C,然后我就回来使用一些C ++特性状物体。我甚至做了一个Java项目不久前。顺序并不重要,只要你把工作中学习这些语言中,你将有成功与他们。

现在,你问的设计。我认为这是,你会最喜欢的部分。在OOP中,如果你想在一个数据库中创建一个简单的包装,你会创建一个对象,然后您可以设置多态功能的继承制度等。

在C,你只想让一个名为sqlite_wrapper.c文件,包括#sqlite3.h,你开始写代码。你会是一对夫妇的功能,决定要发送(结构和值)的参数,你就大功告成了。

在C,你不上课,但你拥有的文件。具有不同的文件已经分离的逻辑。在Java中,你有文件+类中他们的逻辑分离,这也是很不错的。

祝你好运,玩得开心。

其他提示

如果你是用来OOP,过渡到非面向对象的语言中最难的部分将是在得到调整为“模拟物”使用现有的机制的物流。在C中,这通常涉及具有一个结构,然后具有一堆即采取结构作为参数的功能。用C ++,可以避免这种情况。

然而,过渡到C或C ++的最大的挑战是要在习惯指针和内存分配。毫无疑问,你会犯错误最初引用和间接引用,并获得混淆C ++的引用,当你与他们合作。您也无疑会导致内存泄漏或错误。而且,由于你是“上线”的工作,死机也不会漂亮。我不知道这有克服这些痛苦,但练的方式。

我想说,这将是更容易学习C ++基于Java的基础上,比在C的基础。

加速C ++不会较硬,其初学者水平书。也有许多其他的好书在那里。在C ++中思考可以是一个良好的开端,但它可能会承担你失望的开始了很多熟悉的东西。所以,我建议刚通过它,然后抓住有效串联。然后例外,现代C ++将有良好的去。

C ++并不难,唯一的一点是你需要做的wuite在自己的几件事情。最棘手的部分可以是内存管理,开放的我们在他的职位说明。事实上其庞大和难以完全抢,这可能是其强硬的原因。

这SO线程提供了良好的和重要的读数列表C ++。

有实质性的差异之间的C和C++。主要的一点是利用面向对象设计用C++.也有轻微的差异,更多的是获取用于'种类型的交易,比任何东西。这里是一些他们只是要画一般的画面。

  1. 差异的动态存储器的分配。
  2. 没有功能重载在C
  3. 没有功能原型在C
  4. 不同的铸造的风格
  5. 一个更丰富的图书馆在C++。

因为你移动,从爪哇、OO编程应该是一个习惯于你和它会更容易过渡到C++。如果你绝对必须开始与C,这没什么大不了的。你还是要能够把握相同的一般使用的概念在两种语言。

我从2年的单级程序员在Java(与很多的经验,在其他非c喜欢的语言)C++新手用约2个小时的辅导从一个朋友。沿线的"这是你的声明的一类,这里是世界你好,等等".

过渡到C更多痛苦,如C++已经最Java的特点(最大的一个失踪的被垃圾收集的).我建议你看看到提升(C++库),特别是明智的指针。此外,花费的时间掌握C++标准模板库是值得花时间!

其他许多人一样说。它是可能的,如果你知道的差异。在某些点上你必须使用其他方式在某些点上,你是能够尝试的程序语言,而不用语,例如"模拟"的对象结构和指针的结构,作为第一个参数。如果你有经验并被迫与它的工作,你会学习。

两件事情我要建议你:

  1. 之后的学习基础知识,从语言尝试获得的深刻理解为指针和内存处理,在这里使用*,&,.,->,有重要的差异和我曾试图左右,直到程序似乎工作。这是一个非常糟糕的主意。

  2. 想想一个好办法你可以真正地测试程序使用一个调试器,尽可能明白为什么你的程序正在运行或失败和发生了什么。你可以犯错误,从来没有显示出来,但当重要的是和你没有时候他们会吃了你

如所有上述,C是不是很辛苦,可以是一个很好的除了你的编程的核武库。

C比较时Java:

  • 有指针,这可以让你下级别访问,并使得有趣的错误。
  • 语言是稀有多少功能。
  • 没有JVM保护你有一个很好的把这解释了错误和路线数,有一些操作系统支持,但从有限的,所以你只需要使用的工具。
  • 没有垃圾收集,除非你使用 一个, 你会照顾你的记忆你自己。

总的来说:主要问题将是调试,你会遇到一些新的错误的时候到存储和使用的指针,而只有使用工具/觉得难以解决,因为没有JVM。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top