任何人都可以推荐一本C ++书吗? (中级/高级) [英] Can anybody recommend a C++ book? (intermediate/advanced)

查看:99
本文介绍了任何人都可以推荐一本C ++书吗? (中级/高级)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我现在是Delphi开发人员(我的日常工作),但在我的公司,我们只需要
编写自定义Web应用程序/数据库的东西,所以我们从来没有真正得到

进入任何先进的。但是,我对指针,对象,

等有足够的了解,认为自己是一个中间的。级别的程序员。


嗯,我正在寻找一个涉及物理和多人游戏的游戏

的能力,这几乎意味着我需要C ++如果我想要使用任何现有的引擎(例如HGE,RakNet,ODE等)。


据说,我对C ++的了解已经足够基本了程序和我

甚至可以编写简单的对象,但就此而言。说到

多重继承,模板,高级内存分配,高级

指针以及其他高级C ++东西我很丢失。


那么有人可以向我推荐一本C ++书吗?


C ++编写多人游戏时,学习哪些概念很重要?


Safari上的任何建议( www.safaribooksonline.com )是一个

奖金微笑


提前感谢任何建议!

I''m currently a Delphi developer (my day job) but at my company we only
write custom web application/database stuff, so we never really get
into anything advanced. However, I know enough about pointers, objects,
etc, to consider myself an "intermediate" level programmer.

Well, I''m looking to write a game involving physics and multiplayer
capability, and that pretty much means I need C++ if I want to use any
existing engines (eg. HGE, RakNet, ODE, etc).

With that said, I know enough about C++ to write basic programs and I
can even write simple objects but thats about it. When it comes to
multiple inheritance, templates, advanced memory allocation, advanced
pointers, and other advanced C++ stuff I''m pretty lost.

So can anybody recommend me a C++ book?

What concepts are important to learn for writing a multiplayer game in
C++?

Any suggestions available on Safari (www.safaribooksonline.com) is a
bonus Smile

Thanks in advance for any suggestions!

推荐答案

jk*****@gmail.com 写道:

>

那么有人可以推荐我一本C ++书吗?


写一篇关于学习的重要内容多人游戏

C ++?


Safari上的任何建议( www.safaribooksonline.com )是一个

奖金微笑
>
So can anybody recommend me a C++ book?

What concepts are important to learn for writing a multiplayer game in
C++?

Any suggestions available on Safari (www.safaribooksonline.com) is a
bonus Smile



我不知道它是否可以在Safari上使用,但我会从Koenig& Moo

加速C ++。它启动你的C ++方式,而不是C

然后添加类。

I don''t know if its available on Safari, but I''d start with Koenig & Moo
"Accelerated C++". It starts you off the "C++ way", rather than as C
and then adding the classes.


jk ***** @ gmail.com 写道:

[ snip]

说到这一点,我对C ++编写基本程序已经足够了解了。我可以写一些简单的对象,但就此而言。说到

多重继承,模板,高级内存分配,高级

指针以及其他高级C ++东西我很丢失。
[snip]
With that said, I know enough about C++ to write basic programs and I
can even write simple objects but thats about it. When it comes to
multiple inheritance, templates, advanced memory allocation, advanced
pointers, and other advanced C++ stuff I''m pretty lost.



没有书籍推荐但....

C ++是一门大语言,但不要陷入思考这个问题的陷阱

你需要知道它的每个细微差别和角落才能完成高效的工作。

例如,对于模板你可能需要足够的知识来使用STL但是

你不必担心编写自己的模板,直到你发现你的脚有点b。事实上我会这样解决你的清单:

MI - 你不需要它。

模板 - 见上面的模糊。

高级内存分配 - 新增和删除,可能是auto_ptr,即'

all。不要靠近写自己的操作员新的,分配器或任何

那个。

高级指针 - 你会读到很多关于各种智能的知识

指针,但我再次建议坚持使用原始指针

初学者。


当你削减列表时这一切都变得更少了很多 - 如果你知道Delphi并且对

指针有一个很好的直观把握,那么你就有了一个很好的起点。 />

HTH

No book recommendation but ....
C++ is a big language, but don''t fall into the trap of thinking that
you need to know every nuance and corner of it to do productive work.
Eg for templates you probably need to know enough to use the STL but
you don''t need to worry about writing your own templates until you''ve
found your feet a bit. In fact I''d tackle your list thus:
MI - you won''t need it.
Templates - see blurb above.
Advanced memory allocation - new and delete, possibly auto_ptr, that''s
all. Don''t go near writing your own operator new, allocators or any of
that.
Advanced pointers - You''ll read lots on this ng about various smart
pointers, but again I''d suggest sticking with raw pointers for
starters.

When you pare down the list like this it all becomes a lot less
daunting - if you know Delphi and have a good intuitive grasp of what a
pointer is then you have a good starting point.

HTH


tragomaskhalos写道:
tragomaskhalos wrote:
jk ***** @ gmail.com 写道:

[snip]

有了这个说法,我对C ++编写基本程序已经足够了解了。

甚至可以编写简单的对象,但就此而言。说到

多重继承,模板,高级内存分配,高级

指针以及其他高级C ++东西我很丢失。
[snip]
With that said, I know enough about C++ to write basic programs and I
can even write simple objects but thats about it. When it comes to
multiple inheritance, templates, advanced memory allocation, advanced
pointers, and other advanced C++ stuff I''m pretty lost.



没有图书推荐但....


No book recommendation but ....



自OP提出以来,请参阅accu.org很多书评。但是

_Accelerated C ++ _可能是那本学习(或重新学习或扩展一个人的知识)C ++的唯一最佳书籍

方式。

Since the OP asked, see accu.org for lots of book reviews. But
_Accelerated C++_ is probably the single best book out there for
learning (or re-learning or expanding one''s knowledge of) C++ the right
way.


C ++是一种很大的语言,但不要陷入这样的陷阱:

你需要知道它的每个细微差别和角落才能做有成效的工作。

例如,对于模板你可能需要足够的知识来使用STL但是

你不要''我需要担心编写自己的模板,直到你已经找到了你的脚。事实上我会这样解决你的清单:

MI - 你不需要它。

模板 - 见上面的模糊。

高级内存分配 - 新增和删除,可能是auto_ptr,即'

all。不要靠近编写自己的操作员新,分配器或任何


C++ is a big language, but don''t fall into the trap of thinking that
you need to know every nuance and corner of it to do productive work.
Eg for templates you probably need to know enough to use the STL but
you don''t need to worry about writing your own templates until you''ve
found your feet a bit. In fact I''d tackle your list thus:
MI - you won''t need it.
Templates - see blurb above.
Advanced memory allocation - new and delete, possibly auto_ptr, that''s
all. Don''t go near writing your own operator new, allocators or any of
that.



添加到STL容器(参见
http://www.parashift.com/c++-faq-lit...html#faq-34.1) 。 />


高级指针 - 你会在这里读到很多关于各种智能

指针的内容,但我再次建议坚持使用原始指针对于

初学者。
Advanced pointers - You''ll read lots on this ng about various smart
pointers, but again I''d suggest sticking with raw pointers for
starters.



我建议恰恰相反。只有当你必须

时(通常在你与第三方

库通信时)才使用原始指针。与原始指针不同,智能指针(和其他容器

替换它们,如std :: vector和std :: string)是异常安全的

并提供自动清理,这几乎可以消除记忆

泄漏。最重要的是,可以从

boost.org免费获得一个非常高质量和经过良好测试的几个类的实现,实际上是Boost'的shared_ptr是TR1的一部分,这意味着

它很可能是标准库的正式部分

在下一次修订时。


干杯! --M

I''d suggest just the opposite. Use raw pointers only when you must
(which is usually when you are communicating with a third-party
library). Unlike raw pointers, smart pointers (and other containers
that replace them like std::vector and std::string) are exception-safe
and provide automatic clean-up, which can virtually eliminate memory
leaks. To top it off, a very high quality and well-tested
implementation of several such classes is available for free from
boost.org, and in fact Boost''s shared_ptr is part of TR1, which means
it will in all likelihood be an official part of the standard library
at the next revision.

Cheers! --M


这篇关于任何人都可以推荐一本C ++书吗? (中级/高级)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆