编译器自带拷贝构造(ctor)和拷贝赋值函数(operator =), 但是对于成员变量含有指针的类,其不能使用默认的拷贝赋值函数。因为使用默认的,会直接将指针指向的地址进行赋值 (浅拷贝,共享内存,共指一个对象),而不是分配一块内存,具有相同的数值 (深拷贝,独立,两个对象)。 浅拷贝容易造成da ...
分类:
其他好文 时间:
2020-02-07 01:09:04
阅读次数:
93
函数返回值返回值数=0:返回None返回值数=1:返回object返回值数>1:返回tuple参数位置参数调用(按照位置一一对应形参)关键字调用(与形参顺序无关,调用时按照形参名一一赋值(x=2)),形参名赋值必须写在参数表最后默认参数:函数定义的时候已经在参数表内将形参赋值,函数调用时不写这个默认 ...
分类:
其他好文 时间:
2020-01-26 22:32:04
阅读次数:
106
函数 Go不是一门纯函数式的编程语言,但是函数在Go中是“第一公民”,表现在: 1. 函数是一种类型,函数类型变量可以像其他类型变量一样使用,可以作为其他函数的参数或返回值,也可以直接调用执行。 2. 函数支持多值返回。 3. 支持闭包。 4. 函数支持可变参数。 Go是通过编译成本地代码且基于“堆 ...
分类:
编程语言 时间:
2020-01-24 15:54:08
阅读次数:
63
输入n行员工id以及到达和离开的时间,输出最早到达的员工的id和最晚离开的员工的id 注:字符串赋值函数strcpy(目标字符串,原字符串)字符串之间的赋值使用该函数,需要#include<string.h> 1 #include<cstdio> 2 #include<string.h> 3 int ...
分类:
其他好文 时间:
2019-12-24 14:00:06
阅读次数:
153
变量类型:字符串,数字,布尔,数组,函数 数字型:算术运算符前后要加空格 =:赋值;== 相等;!=:不相等 除法运算不支持浮点 双括号可以重新赋值 a=2 a=2 a++ 等价于 a=a+1 关系型运算符:只支持数字,不支持字符串,除非字符串的值是数字 -ne //不等于 -gt //大于 (gr ...
分类:
其他好文 时间:
2019-12-10 16:46:19
阅读次数:
114
//int a[3][4] = { { 66, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; //读取二维数组任意元素hint int(*)a[4] i,j //函数对于数组没有副本,数组多了会非常浪费cpu和内存 //对于一维数组,作为参数可以使用 ...
分类:
其他好文 时间:
2019-12-01 16:31:57
阅读次数:
87
#include <iostream> // overloading "operator = " inside class // = 是一元操作符。不写,编译器会提供 默认 拷贝赋值函数。可以通过显式“=delete”来禁用默认。对于复杂class的默认=可能会造成问题,请特别注意。 ///////... ...
分类:
编程语言 时间:
2019-12-01 12:08:34
阅读次数:
90
概念理解: 数组的解构赋值 对象的解构赋值 字符串的解构赋值 数值和布尔值的解构赋值 函数参数的解构赋值 数组的解构赋值: 一般的: const arr=[1,2,3,4]; let [a,b,c,d]=arr; console.log(a,b,c,d) // 1 2 3 4 复杂点的: const ...
分类:
其他好文 时间:
2019-11-23 21:53:57
阅读次数:
69
作者 | Jeskson 来源 | 达达前端小酒馆 解构赋值: 数组的解构赋值,对象的解构赋值,字符串的解构赋值,数值与布尔值的解构赋值,函数参数的解构赋值。 开发环境准备: 编辑器,VS Code,Atom,Sublime,或IDE(Webstorm)浏览器(最新的Chrome)或Node.js环 ...
分类:
其他好文 时间:
2019-11-22 23:23:11
阅读次数:
82
1、对象是拷贝的还是共享的: 是否采用引用或指针。 2、若为共享,其可变吗? 是否采用const关键字。 3、对象可移动,从而留下一个“空对象”吗? 是采用指针还是引用。 4、为避免返回值的拷贝(省去内存拷贝的代价) 使用移动构造函数或赋值函数,并使用move可将对象转化为右值引用。 5、默认函数参 ...
分类:
编程语言 时间:
2019-11-18 09:21:18
阅读次数:
124