自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

是鲤鱼啊

搬砖搬砖

  • 博客(25)
  • 收藏
  • 关注

原创 C++ primer Plus(第六版)第十二章 类和动态内存分配 章节编程练习答案

1.对于下面的声明:class Cow { char name[20]; char * hobby; double weight;public: Cow(); Cow(const char * nm, const char * ho, double wt); Cow(const Cow c&); ~Cow(); Cow & operator=(const Cow & c); void ShowCow() co...

2021-01-30 15:06:48 424

原创 c++ 右值引用&&

1.左值、右值C++中所有的值都必然属于左值、右值二者之一。左值是指表达式结束后依然存在的持久化对象,右值是指表达式结束时就不再存在的临时对象。所有的具名变量或者对象都是左值,而右值不具名。很难得到左值和右值的真正定义,但是有一个可以区分左值和右值的便捷方法:看能不能对表达式取地址,如果能,则为左值,否则为右值。例2..左值引用、右值引用所以,左值引用只能绑定左值,右值引用只能绑定右值,如果绑定的不对,编译就会失败。但是,常量左值引用却是个奇葩,它可以算是一个“万能”的引用类型,

2021-01-29 15:06:39 496

原创 C++ string和char* 区别, char** a 和 char* a[ ] 区别

1、定义:string:string是STL当中的一个容器,对其进行了封装,所以操作起来非常方便。char*:char *是一个指针,可以指向一个字符串数组,至于这个数组可以在栈上分配,也可以在堆上分配,堆得话就要你手动释放了。2、区别:string的内存管理是由系统处理,除非系统内存池用完,不然不会出现这种内存问题。char *的内存管理由用户自己处理,很容易出现内存不足的问题。当我们要存一个串,但是不知道其他需要多少内存时, 用string来处理就最好不过了。当你知道了存储的内存

2021-01-29 09:55:01 3319 1

原创 电脑输入法只能打拼音,不能打字,输入法也切不出的解决办法

alt + shift

2021-01-26 11:02:11 1815

原创 关于&的引用与取地址 区分

在习惯了C语言的程序员眼里 , & 这个符号的意思就是取地址和对位进行与运算 , 但在C++中 , & 被重载多了一种意思 , 就是引用。在这里我就不介绍位与运算了 , 我先介绍一下取地址运算 ,在学习指针的时候我们就已经用过了取地址符了 , 使用方法为在变量前面加上&即可。接下来是介绍引用 , 简单来说 , 引用就是被引变量的另一个名字 , 当改变引用值时 , 被引值也会改变 , 因为它们两就是同一个值 , 另外 , 引用不能脱离对象单独存在 , 引用是依附与对象...

2021-01-25 22:12:45 3349

原创 C++ 指针*与引用&

1.定义变量时例如int* ptr = &var;prt指针存的是变量内存地址;例如int& ref = var;ref引用是给var变量起外号,指向var相同的内存地址;2.读取变量时例如*ptr,是用*获取指针ptr指向内存地址里保存的变量值;例如&var,是用&获取普通变量var的内存地址;3.作为函数参数时例如void fun(int* a){int b = 0; *a = b;},函数内修改*a会影响函数外传入的参数变量值例如voi..

2021-01-25 10:54:53 86

原创 C++ primer Plus(第六版)第十一章 使用类 章节编程练习答案

1.修改程序清单11.15, 使之将一系列连续的随机漫步者位置写入文件中。对于每个位置,用步号进行标示。 另外,让该程序将初始条件(目标距离和步长)以结果小结写入到该文件中。该文件的内容与下面类似: Target Distance: 100, Step Size: 20 0: (x,y) = (0, 0) 1: (x,y) = (-11.4715, 16.383) 2: (x,y) = (-8.68807, -3.42232) ... 26: (x,y) ...

2021-01-24 23:23:51 776 1

转载 C++踩坑之重定义默认参数(默认实参)

C++函数可以带有默认参数,调用含有默认参数的函数,可以包含实参,也可以省略实参。我们可以为函数一个或多个形参提供默认值,但是一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值,因为函数调用时按位置解析实参,默认实参负责填补函数调用缺省的尾部实参。void f(int a,int b,int c=0){}; //定义一个函数f(1,2); //c使用默认实参值0f(1,2,3); //c使用实参3问题来了,假如一个函数有默认实参,由于习惯将函数声明放在.hpp/.h而函数定义.

2021-01-24 14:16:49 3500 3

转载 回调函数(callback) 理解

https://www.zhihu.com/question/19801131什么是回调函数?我们绕点远路来回答这个问题。编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application programming interface,应用编程接口),以供应用程序员使.

2021-01-18 12:57:19 265

原创 C++ primer Plus(第六版)第十章 对象和类 章节编程练习答案

1.为复习题5描述的类提供方法定义,并编写一个小程序来演示所有的特性 复习题5如下: 定义一个类来表示银行账户。数据成员包括储户姓名、账号(使用字符串)和存款。成员函数执行如下操作: ·创建一个对象并将其初始化 ·显示储户姓名、账号和存款 ·存入参数指定的存款 ·取出参数指定的款项解答如下:① 使用string类...

2021-01-17 00:53:49 881

原创 C++ primer Plus(第六版)第九章 内存模型和名称空间 章节编程练习答案

1.下面是一个头文件注意到showgolf()被重载,可以这样使用其第一个版本:golf ann;setgolf(ann, "Ann Birdfree", 24);上述函数调用了提供存储在ann结构中的信息,可以这样使用其第三个版本golf andy;setgolf(andy);上述函数将提示用户输入姓名和等级,并将它们存储在andy结构中,这个函数可以(但是不一定必须)在内部使用第一个版本。根据这个头文件,创建一个多文件程序。其中的一个文件名为golf.cpp,它提供了与有文件.

2021-01-16 23:52:40 205

原创 C++ primer Plus(第六版)第八章 函数探幽 章节编程练习答案

1.编写一个通常接受一个参数(字符串的地址),并打印该字符串的函数。 然而,如果提供了第二个参数(int)类型,且该参数不为0,则该函数打印字符串的次数将为该函数被调用的次数。 (注意,字符串的打印次数不等于第二个参数的值,而等于函数被调用的次数)。 是的,这是一个非常可笑的函数(我怎么不觉得可笑,手动微笑),但它能让您使用本章介绍的一些技术。 在一个简单的程序中使用该函数,以演示该函数是如何工作的。① 不同string类② 用string类...

2021-01-16 01:05:20 454 2

原创 C++ primer Plus(第六版)第七章 函数——C++的编程模块 章节编程练习答案

1. 编写一个程序,不断要求用户输入两个数,直到其中一个为0。 对于每两个数,程序将使用一个函数来计算他们的调和平均数,并将结果返回给main(),而后者将报告结果。 调和平均数指的是倒数平均值的倒数。计算公式为: 调和平均数=2.0*x*y/(x+y)2.编写一个程序,要求用户输入最多10个高尔夫成绩,并将其存储在一个数组中。 程序允许用户提早结束输入,并在一行上显示所有成绩,然后报告平均成绩。 请使用3个数组处理函数来分别进行输入、显示和计算平均成绩。(一)...

2021-01-15 17:41:05 429

原创 Visual Studio报错——LNK1561: 必须定义入口点

如下:每个应用程序(exe)都应该有个启动点,这个点就是main函数。缺少就会出现link error 。解决方法有2个:1.添加含有main函数的CPP文件2 右击属性,在常规项中修改配置类型,将应用程序修改为库,动静态库https://jingyan.baidu.com/article/ad310e80bda0861849f49e9e.html当然了,我只是遇到就记录一下,我的问题是main()写错了...

2021-01-15 15:09:30 4876 2

原创 C++学习笔记 (七)标准模板库STL之常用算法

1.常用遍历算法(1) for_each 遍历容器(2) transform 搬运一个容器到另一个容器中2.常用查找算法(1)find 查找指定元素(2)find_if 按条件查找(3)adjacent_find 查找相邻重复元素(4)binary_search (二分法)查找指定元素是否存在...

2021-01-10 23:27:25 176

原创 C++学习笔记 (六)标准模板库STL之函数对象(仿函数)

1.函数对象(仿函数)2.谓词(1)一元谓词(2)二元谓词3.内建函数对象1)算数仿函数2)关系仿函数3)逻辑仿函数

2021-01-10 23:26:27 115

原创 C++学习笔记 (五)标准模板库STL之容器

2.迭代器种类一.string容器(一)vector1.容器之vector2.vector容器中存放自定义数据类型3.vector容器嵌套容器(二)string1.string容器2.string赋值操作3.字符串拼接4.字符串查找与替换5.string字符串比较...

2021-01-10 23:25:55 171

原创 C++学习笔记 (四)模板

一.函数模板c++的一个编程思想就是面向对象,另一种就是泛型编程,主要利用的就是模板。有两种,函数模板与类模板。1.函数模板基本语法函数模板的作用:先建立一个通用函数,其返回值类型与参数类型都不具体制定,而是用一个虚拟的类型表示。2.函数模板注意事项举例:3.普通函数与函数模板的区别4.普通函数与函数模板的调用规则注:...

2021-01-10 23:25:18 107

原创 C++学习笔记 (三)文件操作

一. 普通文件1.写文件写文件的5步:2.读文件其中的4种读取方式如下:二. 二进制文件1.二进制文件——写文件输出流对象可以通过write函数,以二进制方式写数据。5步:2.二进制文件——读方式同上举例:职工管理系统(1)创建项目(2)创建职工管理类(3)菜单功能...

2021-01-10 23:24:33 114

原创 C++学习笔记 (二)面向对象:封装、继承、多态

1.内存分四区(意义:对不同区域的数据,赋予不同的生命周期,给我们更大的灵活编程)(1)代码区:存放二进制代码,由操作系统管理(2)全局区:存放全局变量、静态变量、常量(该区数据由系统释放)(3)堆区:由人分配、释放。若人没手动释放,则结束时会由操作系统回收(用new在堆区开辟内存,用delete释放)new返回的是该类型数据的指针,如int* p = new int(10);(4)栈区:由编译器自动分配、...

2021-01-10 23:23:55 305 1

原创 C++学习笔记 (一)指针、结构体

(一)指针1.空指针 int * p = NULL;指向内存中编号为0的空间,用来初始化指针变量, 其指向的内存是不可访问的(因为0~255间的内存编号由系统占用)注:指针前加*表示解引用,用来找到该指针指向的内存中的数据。所以当形参是&引用或指针的指针** 时,改变形参就是改变实参。2.野指针指向非法的内存空间。野指针和空指针都不是我们申请的空间,故无法访问。3.const修饰指针有3种情况(根据const与*的前后关系,就能辨别不同的叫法)...

2021-01-10 23:22:45 991

原创 python *和**的打包和解包

python中的*和**,能够让函数支持任意数量的参数。它们在函数定义中用来打包参数,在函数调用中用来解包参数。一. 在函数定义中,打包参数1.* 的作用:在函数定义中,收集所有的位置参数到一个新的元组,并将这个元组赋值给变量args2. ** 的作用:在函数定义中,收集关键字参数传递给一个字典,并将这个字典赋值给变量kwargs二. 在函数调用中,解包参数1. * 的作用:在函数调用中,* 能够将元组或者列表解包成不同的参数2. ** 的作用:在函数调用...

2021-01-06 19:29:20 847

转载 mxnet NDArray

https://www.cnblogs.com/ronny/p/8514194.htmlMXNet的NDArray与Numpy中的ndarray极为相似,NDAarray为MXNet中的各种数学计算提供了核心的数据结构,NDArray表示一个多维的、固定大小的数组,并且支持异构计算。那为什么不直接使用Numpy呢?MXNet的NDArray提供额外提供了两个好处:支持异构计算,数据可以在CPU,GPU,以及多GPU机器的硬件环境下高效的运算NDArray支持惰性求值,对于复杂的操作,可以在有多个

2021-01-06 17:15:20 168

原创 用md5判断不同位置的同名文件是否为同一个

win下:1、win+r 输入cmd进入控制界面2、certutil -hashfile XXXX md5(XXXX为绝对路径)linux下:进入文件目录,使用md5sum加文件名,例如md5sum test.txt

2021-01-04 16:12:45 310

转载 c++ 易混淆概念

1.include""与include<>的区别include<>用于标准或系统提供的头文件;include""常用于程序员自己的头文件。2. .h文件与.hpp文件的区别①hpp,其实质是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减小project中...

2021-01-02 17:08:13 175

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除