CPP thread

转载 2004年07月15日 15:48:00

语言设计本身就是类库的设计,创造能够重用通用的模块(类库)不是每个人都行的,只有少数天才,STL,MFC,VLX等就是这样的库,如果没有这些库,也看不出C++等面向对象语言的优势所在,面向对象在认知世界方面让我们能够构造出更能够表达复杂世界的模型,但是如果没有大量可重用的类库,我们必然纠缠于太多的不必要的细节之中,也不可能设计实现一个成功的产业化软件出来.所以,学语言是基础,在认知世界方面的观念的更新是升华,掌握工具与类库并学会怎样重用(引入自己的设计与实现之中)是最终的归属.
-------------------------------------
习C++要花大力气,内容很多的,你要提高可以推荐几本书:《essential c++》,《effective c++》《more effective c++》《c/c++ 高质量编程》(林锐),这些都是要想成为一个c++高手必备的书籍,不过想成为真正的高手必须按照以下步骤:c/c++, 数据结构,windows程序设计,visual c++(MFC). STL的意思是标准模板库(Standard template libary),这个是c++中比较高深的部分!其中向c++初学者推荐基本学习c++的书籍:《c++ 编程思想》《c++ primer》 《c++ primer plus》,都是不错的书籍◎如果对c语言都不了解的初学者,最后用最后一本!
--------------------------------------
vc++和c++是不大一样的
c++主要是stl应用比较多
vc++主要是调用windows平台的东西
比如mfc或者activex或者.net framwork等等
两者之间的联系仅仅是都用最基本的c++语言作为基础而已
---------------------------------------
C++,一个响当当的名字,自从贝尔实验室走出来之后,便成为了事实上的工业标准。即使在今天各种新技术不断涌现的年代里,作为一名专业程序员,掌握C++举足轻重。那么,我们该怎么深入的学习这一门语言呢?

    第一方面当然是语法了。我认为对于语法,不应该去死记硬背,而应该透过语法现象看到语言的本质。关于语法这一部分,一本好书便能使我们事半功倍,在此我推荐《C++ Primer》和《The C++ Programming Language 》(中文名:C++程序设计语言),另外《Thinking in C++》(中文名:C++编程思想)也不愧为一本佳作。这三本书基本都是属于那一种讲述C++全貌的,所以只要认真研读一本基本就够了。

    第二方面是C++的标准库,这一部分也是C++的精华所在,然而国内的很多C++ Fans竟然都不经常使用(^_^也包括本人在内),实在是浪费。通过这一部分的学习,不但可以在C++的应用中如虎添翼(尤其是STL),而且还可以加深对C++语法的理解。用C++标准库写出的程序不仅性能和效率高,而且移植性很好。因此,作对一个对C++深入学习的程序员来说,这一部分绝对不能错过。这部分我推荐《C++ STL》这本书!

    第三方面是关于C++的一些经验之谈的,这一部分应该主要是个人的经验积累。不过如果有别人好的经验总结的话,我们为什么不直接吸收呢?有两本书不得不提,《Effective C++》和《More Effective C++》。

    第四方面可以说是关于C++语法深层的机制,让我们深入了解C++的对象机制,更好的了解C++语法现象背后的本质。在这一方面我推荐的是《Inside C++ Object Model》(中文名:深入探索C++对象模型)。

    第五方面是COM,COM作为今天很多大型软件的基础,发挥了很大的作用,理解了COM,对于学习OLE和ActiveX将是打下了坚实的基础。虽然COM不是C++所特有的,但通过C++,可以更好的阐述。当然在今天也有很多好的语言可以很好的描述COM,但通过C++学习COM可以让更加深入的了解COM,将来再学习其它语言的时候,在COM这一方面你将比其它的程序员理解的更深。况且现在很多好的COM书籍也是用C++描述的,国外的有《Inside COM》(中文名:COM技术内幕)和《Essential COM》(中文名:COM本质论),国内则有潘老师写的《COM原理与应用》,最好先看《Inside COM》或者《COM原理与应用》,之后再看《Essential COM》。

    第六个方面是进行Windows程序设计,这估计也是C++学习和应用的一个主要方面了。学习Windows程序设计,除了Windows的基本编程思想和事件模型之外,重要的也就算学习库了,这里指的库主要包括三个,一个是基础的Win32API函数库,我认为这也是要掌握Windows程序设计不可不学的一个方面。另外要数到Microsoft公司的MFC类库和Borland公司的OWL类库了,关于两者的优劣就不说了,其实它们两个都是对Win32API函数的封装,不过除了封装Win32API之外,也加入了很多的特性和思想,而且一般情况下用C++开发Windows程序也都是用它们两个。关于用Win32API开发的好书当然是推荐Windows之父写的《Windows Programming》(中文名:Windows程序设计),关于MFC也有《Windows Programming with MFC》《MFC Windows程序设计》和候先生著的《深入浅出MFC》。另外MSDN也是学习Windows程序设计少有的好材料,内容丰富,功能强大!

    当然C++也不是停止不前,在今年四月份,C++标准委员会又通过了十项程序库标准化议案。还有Microsoft在.NET中推出的Managed C++(托管C++),因此学习将是永远不止的事。

    最后我想说的除了我们传统认为的技术之外,还有很多我们需要注意的地方。一方面是向关于编码规范的,在我看《C++编码规范》之前,认为编码规范无非就是起变量名和缩行,不过看后,才真正知道什么是编码规范。另外一个方面是关于设计模式的部分,这也是将C++升华的部分,《Design Patterns》(中文名:设计模式)不得不提,这也是从一个程序员到设计员的转变。还有向介绍C++的发展史的《The Design and Evolution of C++》(中文名:C++的设计和演化),更是带领大家通过时间的长河让我们又重温了C++的发展史,里面也回答了很多读者对于一些语法现象产生疑问的回答。以上的书大部分都是国外人所著,因此都有英文影印原版,如果英文好的读者还是看英文的好,即使英文不好的读者,也应该试着阅读原版的,万事开头难嘛!

    可能有的读者会说,你懂行真多呀,其实我也只是将大家好的意见给放在一起,做个大家的话筒而已!有一些书其实我也没有看过(不好意思,书真的太多,再说俺的MONEY也不够呀),所以难免产生偏差。以上纯属个人观点,仅供参考。也做为对于我开始学习C++从其它前辈得好建议的一种感谢吧!!
------------------------------------
学C++的话,其实最简单的路就是看C++ Primer和The C++ PL。然后再去看一些论文和MCD。如果你已经比较熟悉的话或者你看书比较仔细的话,ECPP系列可以不看,水太多了。

总之,学C++最重要的是不要去学grammar,而要去学semantic。

Inside C++ Object Model水也比较多,可以去看一篇MS VC组程序员写的VC Object Model,只是一篇文章,说的很清楚了。

DP这样的书千锤百炼,光一个proxy就可以用一辈子了。

Rumination of C++和Advanced C++ Styles and Idioms对于Object Oriented来说还是很好的,只是如果你要GP,目前除了STL的书,大概只有MCD和generative programming了。

一、C++11多线程std::thread的简单使用(上)

出处:http://blog.csdn.net/star530/article/details/24186783 昨天练车时有一MM与我交替着练,聊了几句话就多了起来,我对她说:”看到前面那俩教练没...
  • aa375809600
  • aa375809600
  • 2015年12月10日 01:08
  • 3312

《探索C++多线程》:thread源码(一)

C++多线程支持库(Thread support library)
  • hujingshuang
  • hujingshuang
  • 2017年04月17日 17:47
  • 1247

c++11的多线程支持二(线程参数)

std::thread支持为线程传入参数,且支持任意类型、任意数目的参数。参数传入方式如下所示: #include #include #include #include void fun(...
  • hustyiyi
  • hustyiyi
  • 2014年01月13日 14:38
  • 3752

Cpp--string常用函数用法总结

标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等...
  • samkieth
  • samkieth
  • 2016年03月13日 10:59
  • 2296

C++中的 .h 和 .cpp 区别详解

在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析。于是,在C++中就要分出了头(.h)文件和实现(.cpp)文件,并且也有了Package的概念。 对于以C起步,C#...
  • TColin
  • TColin
  • 2016年06月06日 10:48
  • 16051

Cpp_构造函数

构造函数1)函数名与类名相同,且没有返回类型。 2)构造函数在对象被创建时自动被调用。 3)构造函数负责确定对象的初始状态以及分配必要的资源。 4)构造函数在每个对象的整个生命周期内,一定会被调...
  • u010126059
  • u010126059
  • 2016年02月25日 23:36
  • 817

makefile中"模式规则"的引入和介绍------%:%.cpp

目录下有test1.cpp, test2.cpp, test3.cpp三个独立文件(彼此之间并无依赖与调用关系), 要编译成三个可执行程序, 怎么搞呢? 我们看看makefile: test1: te...
  • stpeace
  • stpeace
  • 2016年11月06日 16:39
  • 1624

如何在一个cpp中调用另一个cpp中的类?

解决方案:新建一个同名头文件,将这个cpp中的类的声明放在头文件中,在这个cpp以及要调用的cpp中include这个头文件即可。 思路来源与原理: 在面向对象的程序开发中,一般做法是将类的声...
  • huhang600
  • huhang600
  • 2015年04月06日 18:42
  • 7215

类模板中.h和.cpp的实现方法

 一般类的声明和实现放在两个文件中,然后在使用该类的主程序代码中,包含相应的头文件".h"就可以了,但是,模板类必须包含该其实现的.cpp文件才行。 也就是说,在你的主程序中,将 #inclu...
  • zhongyunde
  • zhongyunde
  • 2014年10月16日 23:06
  • 1654

头文件与cpp文件为什么要分开写

最表面的机制是:         头文件是程序的界面(是代码界面),提供给程序员以  类、模版、函数等一系列的声明,让程序员知道应该怎么调用里面的“东西”。         从动态链接...
  • e_wsq
  • e_wsq
  • 2013年10月05日 12:06
  • 829
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CPP thread
举报原因:
原因补充:

(最多只允许输入30个字)