首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >提高C/C++代码的级别

提高C/C++代码的级别
EN

Software Engineering用户
提问于 2011-05-13 10:56:39
回答 4查看 4.1K关注 0票数 16

我已经编程3-4年了,我觉得我不能再被称为初学者了,但是我在这个网站上读到了一些问题,并认为他们在谈论什么?如今,当我拿起编程书时,我也有同样的感觉。

我读过几本入门编程书,一些是关于C/C++的,另一些是关于游戏的。我已经写了一些更复杂的事情,如非常基本的人工智能,串行和TCP/IP接口。

我计划成为一名游戏程序员,但最近我对嵌入式系统产生了一定的兴趣,因为我有机会在嵌入式系统(串行接口)上工作。

我发现很难找到材料继续我的学习后,完成介绍和初学者的书籍,因为是没有中间C++的书,我可以找到。

你会给我什么建议来成长和提高我的知识和技能?将非常感谢提供具体的资源。

EN

回答 4

Software Engineering用户

发布于 2011-05-13 11:21:29

如果你说的是C/C++,那么你肯定需要一些额外的经验。我要给您的第一个提示是,C和C++是完全不同的语言。学习C++的最好资源是StackOverflow- -那里有很多人拥有大量的经验和知识。

接下来要做的就是启动一个大型项目,比如尝试在像DirectX这样的低级API中编写3D图形引擎,当你的设计像第一个项目一样惨败时,你就会学到一些关于如何不编程的东西。

您可以查看在StackOverflow上的链接,以获得一大份学习C++的好书列表。

票数 10
EN

Software Engineering用户

发布于 2011-05-13 11:11:04

首先,在你还不知道的事情上增加你的基本理论背景。学习理论,写几个简短的例子。

示例的基本理论背景包括:

  • 算法和数据结构
  • 软件设计(UML,设计模式,OOP)
  • 操作系统和并行编程

然后,考虑学习一种额外的语言(例如Java或C#)。-学习其他语言有助于更好地掌握你正在使用的语言的利弊,并帮助你学习你可能不知道的最佳实践。

接下来选择一个新的领域(网络编程、计算机图形学、图像处理、计算机视觉、数据访问.)。学习理论,写几个简短的例子。

接下来,创建一个大型示例,封装多层应用程序,处理数据访问、UI和您选择的特定域。强调应用程序的体系结构(确保其各部分尽可能松耦合)。

希望您将学习如何学习新的方法和技术,并将它们与良好的体系结构集成起来。

特别是对于游戏编程,我建议选择以下领域/技术:

  • 图像处理基础
  • 任何特定的UI技术
  • 计算机图形学基础
  • 任何特定的图形引擎(例如DirectX、OpenGL、OGRE、ODG、Java3D、.)
  • 机械物理基础
  • 任何特定的物理引擎(例如PhysX,.)
  • 任何特定的游戏引擎(例如XNA,.)
  • 多线程编程
  • 分布式编程

编辑:

如何学习:

  • 阅读并运行CodeProject中的示例。
  • 浏览一本书/电子书库或商店中的几本书,直到你找到几本你喜欢的书(与你的阅读风格相匹配+涵盖你想读的主题)。
  • 读博客。
  • 当你陷入困境时,试一试,在StackOverlow上问一问。
票数 5
EN

Software Engineering用户

发布于 2011-05-13 12:40:22

使用C++ (结合C),假设您需要更多地了解他们正在讨论的WTF。C++是几种语言,几个抽象层生活在同一个地方,所有这些都需要很长时间来研究,然后了解刚才看到的内容。

我一直在帮你,我还在学习这些语言。我也学到了很多关于嵌入式系统的工作。

以下是我的建议:

  • 读那些书:https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list ->从入门书开始,即使你觉得自己不是初学者,因为在开始之前你必须先掌握大量的基础知识。然后了解模板元编程和嵌入式系统限制。
  • 多练习:你学到的东西越多,你就越能理解它。在这一点上,我的做法是在小测试项目中测试语言和上下文的任何角落。我也有“大的”家庭项目,在那里我控制一切,我练习新的技术,并推动他们,直到他们崩溃。

不要以为你已经知道很多关于编程的知识。大多数开发人员是在经过十多年的实际实践之后,在不同的环境和类型的项目、平台等的情况下,才在编程方面获得成熟。

你刚刚开始你的旅程。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/76081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档