我是一名C++开发人员(主要是ATL/COM的东西),直到我们许多人,我在2001年切换到C#.从那以后我没有做太多的C++编程.
你有关于如何恢复我的C++技能的任何提示吗?在过去的几年中,C++发生了哪些变化?是否有涵盖该语言的好书,文章或博客.问题是,我找到的大多数材料要么针对那些不熟悉该语言的人,要么针对那些有很多经验的人.
现在哪些C++库很受欢迎?我想我需要阅读STL,因为我没有太多使用它.还有什么?促进?ATL?WTL?
提升 - 虽然它和其他图书馆都在那时,但它最近才刚刚起步.谷歌也适用于TR1和c ++ 0x标准.你应该彻底读取STL,因为(恕我直言)它使C++变得特别.
ATL是一个很好的死技术(不要误解我的意思,我喜欢它并且仍然使用它,但它在MS世界中不再流行).
像QT这样的东西可能对C++开发人员来说更新,更酷,并且具有让你进入所有新的Linux和Web开发的优势,这些开发将在未来几年越来越受欢迎.
但是,一旦你开始考虑你可以做的事情,我认为它们都会很快回来.
我个人觉得语法是我最需要赶上的地方,当我回到我很久没用过的语言.但是这些概念和语言在记忆中保持不变.
假设它和你一样,我会说在你学习C++的过程中重新看一下你记得对你有用的文本是一个好主意.为了快速掌握语法,我建议用C++思考.
STL真的很有用.这是我发现所有成熟的C++程序员普遍赞赏的一件事.了解Boost提供的库将会很有用.
对C++世界的更改取决于您最喜欢的编译器决定实现的更改.既然你提到了ATl/COM,我认为它将是VC++.对MFC的更改将支持Windows Forms(2005 vc ++)和符合Vista的uI和功能区支持(?)(2008 Vc ++)
VC++现在支持托管C++ - 我确定你知道C#世界会发生什么 - 2008年也增加了对托管STL的支持.
VC++正在努力提高标准,并在该领域取得一些进展.
他们已经引入了许多安全功能,这些功能会使旧的stds如strcpy折旧,如果使用旧的fns,编译器也会发出警告.
VC++ 2005还有一些称为函数属性的函数,它用于描述参数,以便它可以对传入的输入进行更多检查,并在看到soething amiss时静态标记警告.虽然我们的商店还没有使用2005编译器,但我会说有用.
MSDN具有每个版本的重大更改列表.从2005版VC++中删除了对Windows 95,Windows 98,Windows Millennium Edition和Windows NT 4.0的支持.此外,您现在需要的核心库(CRT,ATL,MFC等)现在支持新的部署模型,这使得它们共享侧面sy侧组件并需要清单.
这个链接应该让你去 - http://msdn.microsoft.com/en-us/library/y8bt6w34.aspx
2008年增加了更多类似Tr1的建议,更多优化编译器,并行编译(/ mp),支持新的处理器架构等.开放式Mp支持也得到了增强,其中一个版本是我记得的.
再次参考MSDN - 这是所有答案的suthentic来源.
祝好运.
绝对阅读Scott Meyers的最新版"Effective C++".我还推荐Stephen C. Dewhurst撰写的"C++陷阱:避免编码和设计中的常见问题".