C的风格和技巧.docVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++的风格与技巧 Bjarne Stroustrup的FAQ:C++的风格与技巧   翻译:左轻侯   /article/bsfaq.htm   (译注:本文的翻译相当艰苦。Bjarne Stroustrup不愧是创立C++语言的一代大师,不但思想博大精深,而且在遣词造句上,也非常精微深奥。有很多地方,译者反复斟酌,都不能取得理想的效果,只能尽力而为。   Html格式的文档见译者主页:   如果你对这个翻译稿有任何意见和建议,请发信给译者:onekey@163.com。   原文的地址为:/~bs/bs_faq2.html)   (Bjarne Stroustrup博士,1950年出生于丹麦,先后毕业于丹麦阿鲁斯大学和英国剑挢大学,ATT大规模程序设计研究部门负责人,ATT 贝尔实验室和ACM成员。1979年,B. S开始开发一种语言,当时称为C with Class,后来演化为C++。1998年,ANSI/ISO C++标准建立,同年,B. S推出其经典著作The C++ Programming Language的第三版。)   这是一些人们经常向我问起的有关C++的风格与技巧的问题。如果你能提出更好的问题,或者对这些答案有所建议,请务必发Email给我(bs@)。请记住,我不能把全部的时间都花在更新我的主页上面。   更多的问题请参见我的general FAQ。   关于术语和概念,请参见我的C++术语表(C++ glossary.)。   请注意,这仅仅是一个常见问题与解答的列表。它不能代替一本优秀教科书中那些经过精心挑选的范例与解释。它也不能象一本参考手册或语言标准那样,提供详细和准确的说明。有关C++的设计的问题,请参见《C++语言的设计和演变》(The Design and Evolution of C++)。关于C++语言与标准库的使用,请参见《C++程序设计语言》(The C++ Programming Language)。   目录:   我如何写这个非常简单的程序?   为什么编译要花这么长的时间?   为什么一个空类的大小不为0?   我必须在类声明处赋予数据吗?   为什么成员函数默认不是virtual的?   为什么析构函数默认不是virtual的?   为什么不能有虚拟构造函数?   为什么重载在继承类中不工作?   我能够在构造函数中调用一个虚拟函数吗?   有没有“指定位置删除”(placement delete)?   我能防止别人继承我自己的类吗?   为什么不能为模板参数定义约束(constraints)?   既然已经有了优秀的qsort()函数,为什么还需要一个sort()?   什么是函数对象(function object)?   我应该如何对付内存泄漏?   我为什么在捕获一个异常之后就不能继续?   为什么C++中没有相当于realloc()的函数?   如何使用异常?   怎样从输入中读取一个字符串?   为什么C++不提供“finally”的构造?   什么是自动指针(auto_ptr),为什么没有自动数组(auto_array)?   可以混合使用C风格与C++风格的内存分派与重新分配吗?   我为什么必须使用一个造型来转换*void?   我如何定义一个类内部(in-class)的常量?   为什么delete不会将操作数置0?   我能够写“void main()”吗?   为什么我不能重载点符号,::,sizeof,等等?   怎样将一个整型值转换为一个字符串?   “int* p”正确还是“int *p”正确?   对于我的代码,哪一种布局风格(layout style)是最好的?   我应该将“const”放在类型之前还是之后?   使用宏有什么问题?   我如何写这个非常简单的程序?   特别是在一个学期的开始,我常常收到许多关于编写一个非常简单的程序的询问。这个问题有一个很具代表性的解决方法,那就是(在你的程序中)读入几个数字,对它们做一些处理,再把结果输出。下面是一个这样做的例子:   #include   #include   #include   using namespace std;   int main()   {   vector v;   double d;   while(cind) v.push_back(d); // 读入元素   if (!cin.eof()) { // 检查输入是否出错   cerr f

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档