我曾经在8到10年前广泛地编写C ++。从那以后,出于专业原因,我开始使用C#。但是,我有时会看到类似
“如果您仍在手动跟踪指针引用,那么您做错了”
要么
“只要您使用的是RAII之类的现代概念,并且不像正在恢复的C开发人员那样手动分配内存,C ++绝对是安全的。”
两者都是十年前的标准程序。我已经看到,最近C ++有了很大的改进。特别是C ++ 0x似乎具有一些新功能。对于“ C / old C ++”程序员来说,赶上“现代” C ++模式和实践的最佳资源是什么?
我曾经在8到10年前广泛地编写C ++。从那以后,出于专业原因,我开始使用C#。但是,我有时会看到类似
“如果您仍在手动跟踪指针引用,那么您做错了”
要么
“只要您使用的是RAII之类的现代概念,并且不像正在恢复的C开发人员那样手动分配内存,C ++绝对是安全的。”
两者都是十年前的标准程序。我已经看到,最近C ++有了很大的改进。特别是C ++ 0x似乎具有一些新功能。对于“ C / old C ++”程序员来说,赶上“现代” C ++模式和实践的最佳资源是什么?
Answers:
与教学材料相比,它可能与大多数其他事情更多有关,但是在8到10年前,在我看来,这种语言的使用方式与今天有很大不同。今天的重点更多地放在利用模板,类型安全性和通用编程上,而在此之前人们对此更加恐惧,人们几乎只将C放在对象方面。
教学材料也在发生变化。在标准C ++入门书将带您完成printf,scanf等之前,您甚至几乎没有用现代方法在书中看到这些内容。
一些好书是红色的书。卓越的C ++,更多卓越的C ++,C ++模板元编程,现代C ++设计,加速的C ++ ...
我认为看看我目前在哪里工作可能是一个很好的例子。我以现代方式使用C ++来到这里,似乎大多数开发人员甚至都不知道我在做什么或为什么。例如,使用操作符()制作对象...必须在每次bind()发生时都注释掉地狱,最终被告知废弃所有代码。不知道初始化程序是做什么的...实际上,这对我来说真的很古怪而且很难。