C++
caocheng8230
爱好C++
喜欢研究电磁算法
展开
-
《模板元编程》2.9节翻译
2.9. Details2.9细节Weve covered a lot of ground in this chapter; the journey from traits to metafunctions takes us from the ad hoc type associations used in the simplest generic programs, to the fu翻译 2006-12-27 19:02:00 · 703 阅读 · 0 评论 -
Lex和Yacc入门
Yacc 与 Lex 快速入门 Lex 和 Yacc 是 UNIX 的两种非常重要的、功能强大的工具。事实上,如果你熟练掌握Lex 和 Yacc 的话,它们的强大功能使创建 FORTRAN 和 C 的编译器如同儿戏。 下面详细详细讨论编写自己的语言和编译器所用到的这两种工具,包括常规表达式、声明、匹配模式、变量、Yacc 语法和解析器代码。最后解释怎样将 Lex 和 Yacc 结合起来。 Le转载 2007-03-08 14:13:00 · 1371 阅读 · 0 评论 -
C++宏命令详解
#d e f i n e N A M E r e s t o f l i n e在编译时期,NAME被作为可替代的名字来进行运算,它在编译时期被替换成为rest of line.并且宏能够定义成带参数的形式,比如:#d e f i n e M A C (x ,y ) a r g u m e n t 1 : x a r g u m e n t 2 : y在使用MAC的地方要按原创 2007-01-16 14:42:00 · 3390 阅读 · 0 评论 -
Boost库使用笔记(Serialization)
拿到BOOST库,想使用其中的串行化的类库Serialization,于是首先得将它构建出来:1. 编译BOOST之Serialization库由于我使用的是VS2003.NET首先想到的是打开boost_root/libs/serialization/vc7ide/BoostSerializationLibrary.sln,编译Library.vcproj之后得到原创 2007-01-16 14:40:00 · 979 阅读 · 0 评论 -
一个复杂结构类中区分多个vptr
看书上说要是虚拟函数,而且调用的本身是一个指针或引用则会对其进行转化,如:MyClass *p; //p是一个复杂结构,其中的fun函数是一个virtual函数(父类的)p->fun();会对其进行转化成p->vptr[0](p) //相单于这样吧-_-#可这里的vptr是MyClass本身的vptr还是父类的vptr??___________________________转载 2007-01-02 12:56:00 · 496 阅读 · 0 评论 -
如何编写异常安全的C++代码
关于C++中异常的争论何其多也,但往往是一些不合事实的误解。异常曾经是一个难以用好的语言特性,幸运的是,随着C++社区经验的积累,今天我们已经有足够的知识轻松编写异常安全的代码了,而且编写异常安全的代码一般也不会对性能造成影响。 使用异常还是返回错误码?这是个争论不休的话题。大家一定听说过这样的说法:只有在真正异常的时候,才使用异常。那什么是“真正异常的时候”?在回答这个问题以前,让我们先看转载 2007-01-02 12:45:00 · 421 阅读 · 0 评论 -
c++程序设计之四书五经
C++程序设计之四书五经(上篇) C++是一门广泛用于工业软件研发的大型语言。它自身的复杂性和解决现实问题的能力,使其极具学术研究价值和工业价值。和C语言一样,C++已经在许多重要的领域大获成功。 然而,一个不可否认的现实是,在低阶程序设计领域,C++挤压着C同时也在承受着C的强烈反弹,而在高阶程序设计领域,Java和C#正在不断蚕食着C++的地盘。也许C++与C合为一体永远都是一个梦想,转载 2007-01-01 12:42:00 · 927 阅读 · 0 评论 -
C++不错的入门书藉
C++语言程序设计(第3版)--清华大学计算机基础教育课程系列教材郑莉 董渊 张瑞丰 http://www.welan.com/Search/Search.aspx?index=1&q=C%2B%2B%B3%CC%D0%F2%C9%E8%BC%C6%BB%F9%B4%A1&KeyWord=BookNameIndex%3AC%2B%2B可以查看到它的介绍那本书上面,前面章节都是讲的C的一些东原创 2006-12-31 23:15:00 · 546 阅读 · 0 评论 -
关于while(cin>>str)无法结束的问题.
输入缓冲是行缓冲。当从键盘上输入一串字符并按回车后,这些字符会首先被送到输入缓冲区中存储。每当按下回车键后,cin.get() 就会检测输入缓冲区中是否有了可读的数据。cin.get() 还会对键盘上是否有作为流结束标志的 Ctrl+Z 或者 Ctrl+D 键按下作出检查,其检查的方式有两种:阻塞式以及非阻塞式。阻塞式检查方式指的是只有在回车键按下之后才对此前是否有 Ctrl+Z 组合键按下进转载 2007-01-02 13:02:00 · 1204 阅读 · 0 评论 -
C++类库介绍
如果你有一定的C基础可能学起来比较容易些,但是学习C++的过程中又要尽量避免去使用一些C中的思想;平时还要多看一些高手写的代码,遇到问题多多思考,怎样才能把问题抽象化,以使自己头脑中有类的概念;最后别忘了经常上机自己调调程序,这是谁也代替不了的. C++类库介绍 再次体现了C++保持核心语言的效率同时大力发展应用库的发展趋势!!在C++中,库的地位是非常高的。C++之父 Bjarne S转载 2006-12-30 16:21:00 · 690 阅读 · 0 评论 -
C++杂谈
C++杂谈const原则:在C++中最好趋向与使用const来修饰它前面的那个类型。如:const int a;和int const b;中,虽然两种具有相同的意义,但是最好利用后面的那种情况,后面的更加可读,因为:int const我们可以很清楚地看到const是修饰int,而前面的那种方法中,我们就不那么轻易知道到底const 的具体涵义。由后面的那种方法我们可以知道const指一个恒定的原创 2006-12-27 15:46:00 · 5200 阅读 · 6 评论 -
effective讲述的关于inline的用法及注意事项
看看effective c++中的建议:条款33: 明智地使用内联内联函数------多妙的主意啊!它们看起来象函数,运作起来象函数,比宏(macro)要好得多(参见条款1),使用时还不需要承担函数调用的开销。你还能对它们要求更多吗?然而,你从它们得到的确实比你想象的要多,因为避免函数调用的开销仅仅是问题的一个方面。为了处理那些没有函数调用的代码,编译器优化程序本身进行了专门的设计。所以当转载 2007-01-18 12:40:00 · 795 阅读 · 0 评论