![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习笔记
yzd_real
这个作者很懒,什么都没留下…
展开
-
[c++ primer plus]使用cout格式化输出
1.进制 cout _T(" 17.3 修改显示时使用的计数系统") endl; int n; n = 255; dec(cout); // cout cout "dec : " n endl; oct(cout); // cout cout "oct : " n endl转载 2007-10-22 10:44:00 · 1280 阅读 · 0 评论 -
错误处理(Error-Handling):为何、何时、如何(rev#2)
引言错误处理(Error-Handling)这个重要议题从1997年(也许更早)到2004年左右一直是一个被广泛争论的话题,曾在新闻组上、博客上、论坛上引发口水无数(不亚于语言之争),Bjarne Stroustrup、James Gosling、Anders Hejlsberg、Bruce Eckel、Joel Spolsky、Herb Sutter、Andrei Alexandresc转载 2008-01-16 17:08:00 · 775 阅读 · 0 评论 -
断言、错误、异常、返回值、错误码等理解
1. ********断言******** _ASSERT主要用在同一个开发小组内部编程中,它用来限定开发者在调用别人的函数时,要遵守被调用函数的前条件、后条件、不变式。可见,断言的使用是为了缩小调用范围,给同一个小组的开发人员以一个友好的提示。2. ********错误的分类与处理方法********(1)操作员与人机交互错误(不满足规则的操作,是可恢复的) 程序检验、提示规则 (2)转载 2008-03-20 14:06:00 · 2866 阅读 · 0 评论 -
[c++ primer plus]RTTI运行阶段类型识别
RTTI只适用于包含虚函数的类。因为RTTI是以虚函数表(vptr)为基础实现的,而且只要存在派生,则基类的析构函数必然是虚函数,因此这一点不必深究。1. dynamic_cast操作符:意在“是否可以安全转化”classB* pB = dynamic_castclassB *> (&classD); 如果classD是派生,classB是基类,则可以安全转化,得到指针;反之,原创 2007-11-05 16:21:00 · 574 阅读 · 0 评论 -
[c++ primer plus]c++ 函数模版,类模版,实例化,具体化,模版作参数,模版的友元
模版不是类或函数,它们是c++编译器指令,它只是一个用于生成类或函数的方案,说明如何生成类或函数。 具体生成时,称为实例化(instantiation)或具体化(specialization)。因此,模版不能单独编译,必须与特定的实例化请求一起使用。最简单的办法就是将所有模版信息放入一个头文件里,使用时include这个头文件。如果编译器支持export关键词,则可以将“类模版”的声明与定义分开存原创 2007-10-28 12:29:00 · 2645 阅读 · 0 评论 -
[c++ primer plus]虚函数的返回类型协变
派生类转换为基类,hierarchy向上走,称为upcasting;基类转换为派生类,hierarchy向下走,称为downcasting。downcasting是不安全的,一般不被允许。含有虚函数的类,编译器给每个对象添加一个隐藏成员,该成员保存一个指向函数地址数组的指针。这个函数地址数组包含了类的所有虚函数地址。如果派生类覆盖了基类的虚函数,那么这个数组中相应的元素也被覆盖;如果派生类增加转载 2007-10-25 14:29:00 · 3499 阅读 · 1 评论 -
[c++ primer plus]c++ compiler缺省生成了哪些构造函数?关于构造函数的注意事项。
编译器会自动生成以下函数默认构造函数,如果没有定义构造函数;如果定义了构造函数,则不会生成默认构造函数(不带形式参数的)。拷贝构造函数,如果没有定义;赋值操作符,如果没有定义;默认析构函数,如果没有定义;地址操作符,如果没有定义;从基类派生时,如果运用以上函数,情况更加复杂。 构造函数与析构函数的一些技巧1. 可以在一个构造函数中用new,另外一个构造函数把指针设为NULL(空),原创 2007-10-23 18:23:00 · 882 阅读 · 0 评论 -
[c++ primer plus]main()执行之前
可执行程序都以main()为入口点, 但是在main()执行之前,可以借助全局对象的构造函数,调用Boot Strap函数,完成main()函数需要的操作。class CompileRequirement...{private:public: CompileRequirement() ...{ GetDataFromXXX(); GetDataFro原创 2007-10-23 09:04:00 · 408 阅读 · 0 评论 -
[c++ primer plus]使用标准流格式化输入
标准流常用有.good(), .bad(), .fail(), .eof()成员函数,可以执行它们查看状态。如果发生错误可以执行.clear()清除。1. cin >> x 用作输入int i, j;cin >> i >> j;从控制台输入时,变量与变量之间的间隔可以靠/n, /t, /r, /f等识别出来,从而把输入值送入到不同的变量中。这个间隔的识别与Pe原创 2007-10-22 12:22:00 · 1060 阅读 · 0 评论 -
[c++ primer plus]常用的const及const的语意
1. const int * p = &x;2. int const * p = &x;3. void class::function(const class& ref);4. void class::function() const;5. const class1 class2::function2();6. const class2& class2::function2(const cla原创 2007-10-22 14:52:00 · 546 阅读 · 0 评论 -
STL中map用法
一.Map概述Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,转载 2008-04-18 18:33:00 · 533 阅读 · 0 评论