随笔分类 -  L.C++

摘要:下面提供一个比较完整的示例程序,一共有四个文件:main.cpp、test.c、test.h、test.hpp main.cpp test.hpp test.c test.h 上边所示程序不能直接用 g++ 编译,因为 g++ 在编译 test.c 时候函数 fun 由于没加 extern ”C“ 阅读全文

posted @ 2018-07-19 10:24 rivsidn 阅读(602) 评论(0) 推荐(0)

摘要:示例代码: 基类中成员的访问权限是由上图所示几部分共同作用的结果,其最终的访问权限取基类中成员的访问指定符,基类的访问指定符的最 小值。 可以用 using 在派生类的类作用域中引入基类一个名称,起到改变基类中成员的访问权限的目的。 【通过using可以在继承而来的访问权限基础上做微调。】 多重继承 阅读全文

posted @ 2018-07-17 15:57 rivsidn 阅读(96) 评论(0) 推荐(0)

摘要:原指针: 相当于C中的指针。 智能指针: #include <memory> 不必使用 delete 运算符释放内存,只要不在需要智能指针,它们就会自动释放 智能指针在结束时候会自动将指着指向的内存释放掉,所以,智能指针只能指向动态分配的内存地址 unique_ptr<T> shared_ptr<T 阅读全文

posted @ 2018-07-17 15:55 rivsidn 阅读(126) 评论(0) 推荐(0)

摘要:数组的动态内存分配 通过指针存储类类型对象的地址 阅读全文

posted @ 2018-07-17 14:15 rivsidn 阅读(83) 评论(0) 推荐(0)

摘要:虚函数的默认参数值 如果虚函数在基类中的声明带有默认变元值,则通过基类指针调用该函数时,就总是从函数的基类模板中接受默认的变元值。 函数派生类版本中的默认值不起作用。 $ ./virtual 50carton volume is 20400 有虚函数的对象占用的字节数要比没有虚函数的对象多。 纯虚函 阅读全文

posted @ 2018-07-17 13:56 rivsidn 阅读(120) 评论(0) 推荐(0)

摘要:类中没有定义的虚函数称为纯虚函数,包含纯虚函数的类称为抽象类。 抽象类没有完整的描述对象,因此不允许创建抽象类的实例,该类存在的唯一理由是从中派生其他的类。 因为不能创建抽象类的对象,所以不能把它用作函数的参数类型或返回类型。 但是抽象类的指针或引用可以用作参数的或返回类型。 虚拟类默认的析构函数是 阅读全文

posted @ 2018-07-17 13:54 rivsidn 阅读(227) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2018-07-17 13:24 rivsidn 阅读(2) 评论(0) 推荐(0)

摘要:符号按照符号的ASC码数值从小到达排列,关键字按照英文字母排序。 & 【38】 位运算;取地址;左值引用【指针、引用都是可以做类型转换的】 && 【38 38】 逻辑运算;右值引用【注意:右值引用编译时候必须指定 --std=c++11】 :: 【58 58】 指定名称空间 const 表示对象不可 阅读全文

posted @ 2018-07-16 17:52 rivsidn 阅读(719) 评论(0) 推荐(0)

摘要:构造函数是一种特殊的函数,与包含他的类重名。 默认的构造函数是空的,当我们定义了任意一个构造函数之后,编译器就不再提供默认的无参构造函数。 构造函数没有返回值,因此没有返回类型。为构造函数指定返回类型是错误的。 默认构造函数的参数值,有默认参数的构造函数参数声明时是可以省略的【所以此处不能有没有参数 阅读全文

posted @ 2018-07-16 17:00 rivsidn 阅读(170) 评论(0) 推荐(0)

摘要:类定义 示例代码 阅读全文

posted @ 2018-07-16 15:56 rivsidn 阅读(72) 评论(0) 推荐(0)

摘要:try...catch 中,控制权如何从 try块 转移到 catch块? 1.使用 throw 表达式将临时对象 temp 初始化为 Exception Type temp {theException}; 2.在 try 块中定义的所有自动对象调用析构函数【将在try中声明的局部变量释放掉】 3. 阅读全文

posted @ 2018-07-16 15:01 rivsidn 阅读(104) 评论(0) 推荐(0)

摘要:$ ./pointer_reference constructorconstructordestructortest...testdestructor //main函数中创建 t 实际上就是复制 $ ./pointer_reference constructordestructor //创建tt时候 阅读全文

posted @ 2018-07-16 10:26 rivsidn 阅读(226) 评论(0) 推荐(0)

摘要:转自: https://www.cnblogs.com/geloutingyu/p/8034904.html 1、自动对象默认情况下,局部变量的生命期局限于所在函数的每次执行期间。只有当定义它的函数被调用时才存在的对象称为自动对象。自动对象在每次调用函数时创建和撤销。该类型局部变量存储在栈上,在动态 阅读全文

posted @ 2018-07-15 22:58 rivsidn 阅读(292) 评论(0) 推荐(0)

摘要:迭代器 反向迭代器 迭代器常用操作【类比指针】: 阅读全文

posted @ 2018-07-15 16:45 rivsidn 阅读(114) 评论(0) 推荐(0)

摘要:引用有两种:左值引用,右值引用。 引用是复合类型,类似于起别名,通过在变量前边加 & 来定义。 1.定义引用时,必须指明白要引用的对象。 2.左值引用引用的对象必须是一个左值,const可以引用临时变量 3.与指针差异就是访问数据方式不一样 4.右值引用必须引用右值 阅读全文

posted @ 2018-07-15 15:48 rivsidn 阅读(92) 评论(0) 推荐(0)

导航