Bri*_*ian 5 c c++ java transition
目前我正在使用Java及其面向对象的设计方面(我也经常使用PHP/MySQL).我没有在网上实现它; 我只是用它来设计一般用途的程序.但是,现在我需要学习C,我对C++很感兴趣.我得到了C编程语言,有人说这是关于这个主题的最好的书.有人可以告诉我,除了字符串处理,我对编程设计的思考方式,以及我如何创建程序,最大的挑战是什么?我明白我不能上课,但这对我有什么影响(即我是否需要重新设计方法并始终以更难编辑的方式设计所有内容)?是否难以从这些语言中跳转到C++?每个人都说这是一种非常难的语言,但以前的经验会有所帮助吗?有了这样的经验,加速C++会难以开始吗?
太感谢了.
Uri*_*Uri 10
如果您习惯于OOP,那么过渡到非OO语言的最难的部分就是使用现有机制调整到"模拟对象"的后勤工作.在C中,这通常涉及具有结构,然后具有一系列将该结构作为参数的函数.使用C++,您可以避免这种情况.
但是,向C或C++过渡的最大挑战是如何习惯于指针和内存分配.毫无疑问,您最初会在引用和解除引用时出错,并在使用它们时对C++引用感到困惑.毫无疑问,您也会导致内存泄漏或错误.而且由于你正在"在电线上"工作,崩溃将不会很好.我不确定是否有办法克服这些痛苦而是练习.
别担心一点.我开始用Java编程,然后转到C++.然后我学习了x86程序集,现在我进入了C,然后我又回来使用C++的一些功能,比如对象.我不久前甚至做过一个Java项目.订单并不重要,只要您将工作用于学习这些语言,您就可以获得成功.
现在,你询问了设计.我认为这是你最喜欢的部分.在OOP中,如果您想在数据库上创建一个简单的包装器,您可以创建一个Object,然后您可以设置一个具有多态函数等的继承系统.
在C中,您只需创建一个名为sqlite_wrapper.c的文件,包含#sqlite3.h并开始编写代码.你将做几个函数,决定你想要发送的参数(结构和值),然后你就完成了.
在C中你没有课程,但你有文件.拥有不同的文件已经分离了逻辑.在Java中,你有文件+类来分隔逻辑,这也是非常好的.
祝你好运,玩得开心.