随笔分类 - C++
Talk is cheap, show me the code!
    
摘要:虚函数表 说起虚函数,相信你我都可以自然而然的想到“多态”,因为多态的实现就依赖于虚函数的继承和重写(覆盖)。那么,class又或者是object是如何来管理虚函数的呢?你我又会想到虚函数表。 虚函数表大家都很清楚了,如果不清楚,参考以下内容,重温一下。 每个class都会产生一堆指向virtual
        阅读全文
                
摘要:今天在牛客上做到了这样一道题目: The Orchid Pavilion(兰亭集序) is well known as the top of “行书”in history of Chinese literature. The most fascinating sentence is "Well I 
        阅读全文
                
摘要:在此之前,我没有了解过红黑树以及AVL tree,真是孤陋寡闻。如果你也在学习的话,我们一起进步。 如果,你很急,那么只看红色加粗即可。 1.红黑树(RB-tree) 红黑树是一种特殊的二叉搜索树,特殊在它的性质。它是SGI STL(gcc编译器使用)唯一实现的搜寻树,作为关联式容器(至少有set,
        阅读全文
                
摘要:这是一个简易的学籍管理系统,大一时居然三个人写了一千多行......年少无知啊!欢迎摘果实! 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 /* 8 *信息结构 9 */ 10 /*struct stu 11 { 12 string id; ...
        阅读全文
                
摘要:final 用于类后或者函数后,声明该类/函数,不可被继承/覆盖。 例如: 1. class Base final {...} //不能作为基类,即禁止继承 2. void print const final; //函数声明,禁止函数被覆盖(多用于类继承) override 用于声明某函数是覆盖覆盖
        阅读全文
                
摘要:区别: 1. 指针是对象,引用不是; 2. 声明引用必须初始化,声明指针可以不初始化(但一般建议初始化); 3. 指针可以绑定新的对象(花心大萝卜),而引用不可以(从一而终); 4. 在作为参数时,引用要比指针高效,因为指针要发生实参到形参的拷贝,而引用不需要。 实现机制:底层都是指针,都要分配内存
        阅读全文
                
摘要:多态 C++ 的多态,大概可分为函数重载和虚函数两类。 先说说函数重载,比较简单,就是函数参数的类型和个数不同罢了,返回值的类型不做讨论,不符合重载的定义。 函数重载是建立在name mangling上的,就是说在编译的时候,编译器会为函数生成独一无二的名字,以区别重载的函数。 我们来看例子 我们用
        阅读全文
                
摘要:C++虚析构函数 析构函数是用来释放对象所申请的资源的函数。 当类内没有自定义的析构函数时,系统会自动调用默认的析构函数。 那么析构函数能否为虚函数呢? 虚函数的意义在于实现“多态性”。即:不同的个体(派生类),实行(运行)不同的方法或策略。这样说来,析构函数本就可以是“虚”的。 那么,虚的析构函数
        阅读全文
                
摘要:C++浅拷贝与深拷贝探究 浅拷贝与深拷贝的概念是在类的复制/拷贝构造函数中出现的。 拷贝构造函数使用场景 对象作为参数,以值传递方式传入函数(要调用拷贝构造函数将实参拷贝给函数栈中的形参) 对象作为返回值,以值方式返回(要调用拷贝构造函数,将要传出的对象拷贝给一个外作用域的临时对象) 用一个对象去初
        阅读全文
                
摘要:1.关于string读入 string str; getline(cin, str); 2.MFC 注意除法 x/double y
        阅读全文
                
摘要:1.标准C++库字符串类std::string的用法 begin 得到指向字符串开头的Iteratorend 得到指向字符串结尾的Iteratorrbegin 得到指向反向字符串开头的Iteratorrend 得到指向反向字符串结尾的Iteratorsize 得到字符串的大小length() 和si
        阅读全文
                
摘要:hdu-2027题(水题~~~) 统计每个元音字母在字符串中出现的次数。 Input输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串。 Output对于每个测试实例输出5行,格式如下: a:num1 e:num2 i:num3 o:num4 u:num5 多个测试实
        阅读全文
                

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号