推荐几本好的c++入门书籍

推荐几本好的c++入门书籍,第1张

入门经典:

C++primer

C++程序设计原理与实践

C++编程思想(两卷合订本)

标准参考读物:

《C++程序设计语言(特别版)》

《C++标准程序库》

进阶读物:

《Effective C++中文版

《More Effective C++中文版》

《Effective STL中文版 》

《Exceptional C++ Style中文版 》

《More Exceptional C++中文版 》

《C++沉思录》

《C++语言99个常见编程错误》

《C++编程规范 : 101条规则、准则与最佳实践》

深入专题:

《C++设计新思维》

《深度探索C++对象模型》

《C++ Templates中文版》

《C++语言的设计和演化》

《STL源码剖析》

《设计模式》

《C++模板元编程》

《Boost程序库完全开发指南 : 深入C++“准”标准库》

《Boost程序库探秘 : 深度解析C++准标准库》

其实到了深入专题的阶段,C++已经不再是一门编程语言了,而是一种哲学,帮助你窥探计算机程序设计中最深奥那些角落。

1.模块/工具简介

Boost库跨平台源并且完全免费C++库内容涵盖字符串处理、则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许领域使实际发更加灵高效(

2.系统要求

Windows xp

3.部署步骤

(1)选择载Boost库Windows版安装包解压至硬盘任意目录(建议硬盘根目录)面用$BOOSTDIR表示boost存放目录

(2)解压文件夹找bootstrap.bat并运行bjam执行程序,运行即

(3)编译完bin.v2stage目录面包含*.lib库文件

(4)配置vs环境创建测试项目test工具栏项目->右键->test属性->配置属性->C/C++->规->附加包含目录添加$BOOSTDIR路径(C:\boost_1_54_0)链接器->规->附加库目录添加$BOOSTDIR\stage\libs(C:\boost_1_54_0\stage\lib\*.lib)应用并确定boost库win32环境部署功

4.能遇问题

(1)LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc100-mt-s-1_52.lib'

库文件看存libboost_thread-vc100-mt-1_52.lib两者差别呢

-s

ABI tag: encodes details that affect the library's interoperability with other compiled code. For each such feature, a single letter is added to the tag:

Key

Use this library when:

Boost.Build option

s linking statically to the C++ standard library and compiler runtime support libraries. runtime-link=static

g using debug versions of the standard and runtime support libraries. runtime-debugging=on

y using a special debug build of Python. python-debugging=on

d building a debug version of your code.7 variant=debug

p using the STLPort standard library rather than the default one supplied with your compiler. stdlib=stlport

For example, if you build a debug version of your code for use with debug versions of the static runtime library and the STLPort standard library in native iostreams mode, the tag would be:-sgdpn. If none of the above apply, the ABI tag is ommitted.

原-s 代表 runtime-link-static"我工程用种式使用boost库需要'libboost_thread-vc100-mt-s-1_52.lib'

解决案:

重新编译boost库用面编译命令:

b2 --build-type=complete msvc stage link=static

(2)Already defined in libcmt.lib

解决案参加篇文章

附:VS2011 静态链接 Boost 函数库配置:

打项目属性->配置属性->C/C++->代码选择运行库线程 (/MT)(选择线程 DLL (/MD)则态链接 Boost 库)

(3)想改变编译配置boost_1_54_0\tools\build\v2 user-config.jam文件bootstrap.batbjam实际都目录

BOOST是对STL的扩充,它加入了的智能指针,图 *** 作等等很多的模块。

2.这两个库都是在C++标准委员会的指导下制定的。STL包含了常用的算法和集合类型,并采用了泛型的思想来实现。boost是对STL的扩充,是一个功能更加强大,更实用的库。所以作为初学者,还是先掌握STL好,需要写应用性程序时,再研究boost库。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10995619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存