这个问题试图收集每年出版的数十本不良C++书籍中的少数珍珠.
与许多其他编程语言不同,这些编程语言经常从互联网上的教程中随处获取,很少有人能够快速学习C++,而无需学习编写精良的C++书籍.这样做太复杂了.事实上,它是如此庞大和复杂,有很多非常糟糕的C++书籍.我们并不是在谈论糟糕的风格,而是体育明显的事实错误和促进糟糕的编程风格.
请编辑接受的答案,以提供高质量的书籍和近似的技能水平 - 最好 在 C++聊天室讨论您的添加后.(如果他们不同意建议,常客可能会毫不留情地撤销你的工作.)添加一篇关于你亲自阅读/受益的每本书的简短描述/描述.随意讨论质量,标题等.符合标准的书籍将被添加到列表中.由C和C++用户协会(ACCU)撰写评论的图书都有指向评论的链接.
*注意:常见问题和其他资源可以在C++标签信息和c ++ - faq中找到.
我正在将一个Windows库移植到Android(使用GNU标准C++库选项,libstdc ++ - v3),VC和GNU库之间似乎有很多命名差异,例如:
_stricmp被称为strcasecmp替代_unlink 叫做 unlink_scalb 叫做 scalbn_finite 叫做 isfinite_isnan 叫做 isnan_itoa并且itoa似乎不存在于GNU C++中atoi 确实存在,但没有 atoi64VC和GNU库的文档意味着它们实现了"ISO"C++,例如我可以从VC2008中获得一些警告,因为没有使用"ISO C++"名称,例如:"警告C4996:'itoa':不推荐使用此项目的POSIX名称,而是使用符合ISO C++标准的名称:_itoa." 类似地,GNU的手册说"GNU标准C++库v3是一个实现ISO 14882标准C++库的持续项目".
那么图书馆如何最终得到这些不同的名字呢?如何判断哪些名称更"标准"?
另外,libstdc ++ - v3 的索引是否存在,即库中所有函数的简单列表?我只能找到一本手册和" 源文档 ",它似乎没有提供功能列表.
如果我用C或C++编写,例如:Windows.是否可以保证,我可以在任何其他操作系统(如Mac OS,Linux,类Unix系统)上编译和运行它?那么,这是否意味着C或C++是跨平台语言?