课程目录: ├<C++面向对象高级开发(上)> │ ├1.C++编程简介.mp4 │ ├2.头文件与类的声明.mp4 │ ├3.构造函数.mp4 │ ├4.参数传递与返回值.mp4 │ ├5.操作符重载与临时对象.mp4 │ ├6.复习Complex类的实现过程.mp4 │ ├7.三大函数:拷贝构造 ...
分类:
编程语言 时间:
2017-07-14 14:50:20
阅读次数:
225
我的主题是。每天积累一点点。 在类定义中,假设没有提供自己的拷贝构造函数,则C++提供一个默认拷贝构造函数。 C++提供的默认拷贝构造函数的工作方法是:完毕一个成员一个成员的拷贝。假设成员是类对象,则调用其拷贝构造函数或者默认拷贝构造函数。须要注意的是。默认拷贝构造函数不会处理静态成员变量。 简单的 ...
分类:
编程语言 时间:
2017-07-14 14:50:01
阅读次数:
94
缺省条件下,c++都是以pass by value形式传递函数参数的,而值传递的参数,编译器知道这个参数收到保护,不会修改其值,实际上修改的都是通过拷贝构造函数另外创建的参数副本,当函数返回时还要调用相应的析构函数析构参数副本,这可能使得pass by value方式传递参数变成低效率的操作,不仅仅 ...
分类:
其他好文 时间:
2017-07-12 10:27:41
阅读次数:
158
在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题是临时变量申请的资源就浪费。 引入了右值引用,转移构造函 ...
分类:
其他好文 时间:
2017-07-09 12:39:05
阅读次数:
131
智能指针:shared_ptr 1、一个局部的shared_ptr 作为返回值过程:当shared_ptr 被创建的时候,自身的引用计数 +1,当前引用计数为 1 , 按值返回以后 引用计数 + 1 (拷贝构造函数,就是可以理解为基础类型的拷贝),当前引用计数为 2 ,函数执行完成之后,申请的sha ...
分类:
其他好文 时间:
2017-07-06 22:49:14
阅读次数:
195
当定义一个类时,我们显式地或隐式地指定了此类型的对象在拷贝、赋值和销毁时做什么。一个类通过定义三种特殊的成员函数来控制这些操作,分别是拷贝构造函数、赋值运算符和析构函数。 拷贝构造函数定义了当用同类型的另一个对象初始化新对象时做什么,赋值运算符定义了将一个对象赋予同类型的另一个对象时做什么,析构函数 ...
分类:
其他好文 时间:
2017-07-05 15:26:04
阅读次数:
195
给定一个仅包含 '('、')'、'{'、'}'、'['、']'的字符串,确定输入的字符串是否合法。 e.g. "()"、"()[]{}"、"[()]([]({}))" 是合法的,而"(]"、"([)]" 是不合法的。 使用栈stack C++实现: 对应的Java实现: C++中的stack,其中有 ...
分类:
其他好文 时间:
2017-07-04 20:17:39
阅读次数:
185
什么是“引用”?申明和使用“引用”要注意哪些问题? 答:引用就是某个目标变量的“别名”(alias)。相应用的操作与对变量直接操作效果全然同样。申明一个引用的时候。切记要对其进行初始化。引用声明完成后,相当于目标变量名有两个名称。即该目标原名称和引用名,不能再把该引用名作为其它变量名的别名。声明一个 ...
分类:
编程语言 时间:
2017-06-30 19:44:50
阅读次数:
120
C++中类的初始化操作一般有四个部分组成: 1.构造函数初始化列表 2.构造函数体内赋值 3.类外部初始化 4.类声明时直接赋值 对于内部数据类型(char,int,float...),构造函数初始化列表和构造函数体内赋值,基本上没多大区别,效率差异也不大,但两者不能共存: 对于类类型来说,最好是使 ...
分类:
编程语言 时间:
2017-06-27 00:08:49
阅读次数:
181
作者 : 卿笃军 1)定义:拷贝构造函数,是一种特殊的构造函数。它由编译器调用来完毕一些基于同一类的其它对象的构建及初始化。其唯一的形參必须是引用,但并不限制为const,一般普遍的会加上const限制。此函数经经常使用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成 ...
分类:
编程语言 时间:
2017-06-23 13:36:17
阅读次数:
143