自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 C++ Primer Plus学习笔记12-类和动态内存分配

友元函数重载运算符的bug1. 动态内存和类C++使用new和delete运算符动态控制内存。在类中使用这些运算符将导致许多新的编程问题。这种情况下,析构函数必不可少。构造函数必须分配足够的内存来存储数据,然后再将数据复制到内存中。析构函数需要包含delete语句删除成员指针指向的内存。当使用一个对象初始化另一个对象时,编译器自动生成复制构造函数,这个构造函数不知道需要更新类中自定义的静态变量,因此会将类的设计方案搞乱。1.1 特殊成员函数C++自动提供以下成员函数:默认构造函数默认析构函

2020-12-23 14:51:13 320

原创 C++ Primer Plus学习笔记11-使用类

1. 运算符重载运算符重载是一种形式的C++多态。要重载运算符需要使用被称为运算符函数的特殊函数形式,格式如下:operatorop(argument-list)如operator+(), operator*()。其中op必须是一个有效的C++运算符,不能虚构一个新符号。比如,如果distrct2, sid和sara都是Salesperson类的对象,编写等式district2 = sid + sara;编译器发现,操作数是Salesperson类对象,因此使用相应的运算符函数替换上述运算符d

2020-12-21 15:12:20 225

原创 C++ Primer Plus学习笔记10-对象和类

1. 过程性编程和面向对象编程采用OOP方法时,首先从用户的角度考虑对象——描述对象所需的数据以及描述用户与数据交互所需的操作。完成对接口的描述后,需要确定如何实现接口和数据存储。最后,使用新的设计方案创建程序。2. 抽象和类将问题的本质特征抽象出来,并根据特征来描述解决方案。抽象是通往用户定义类型的捷径。提供类声明(类似结构声明,包括数据成员和函数成员);实现类成员函数。2.1 C++中的类类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。一般来说

2020-12-20 16:33:52 608

原创 C++ Primer Plus学习笔记09-内存模型和名称空间

单独编译C++允许甚至鼓励程序员将组件函数放在独立的文件中。另外,大多数C++环境都提供了其他工具来帮助管理。提供了#include来处理文件代码的包含问题。程序可以分成三部分:头文件:包含结构声明和使用这些结构的函数的原型源代码文件:包含与结构有关的函数的代码源代码文件:包含调用与结构相关的函数的代码头文件中常包含的内容:函数原型;使用#define或const定义的符号常量;结构声明;类声明;模板声明;内联函数。如果文件名包含在尖括号中,则C++编译器将在存储标准头文件的主机系统的文件

2020-12-20 14:54:50 291

原创 C++ Primer Plus学习笔记07-函数1

函数基本知识库函数是已经定义和编译好的函数,同时可以使用标准库头文件提供其原型,因此只需要正确调用这种函数即可。创建自己的函数时,需要自行处理定义、提供原型和调用这3个方面。// defining, prototyping, and calling a function#include <iostream>void simple(); // function prototypeint main(){ using namespace std; cout << "

2020-12-13 15:34:29 218

原创 C++ Primer Plus学习笔记08-函数2

C++内联函数常规函数和内联函数之间的主要区别不在于编写方式,而在于C++编译器如何将它们组合到程序中。编译过程的最终产品是可执行程序——机器语言组成。运行程序时,操作系统将这些指令载入到计算机内存中,因此每条指令都有特定的内存地址。常规函数的调用使程序跳到另一个地址(函数的地址),并在函数结束时返回原地址。执行到函数调用指令时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈,跳到标记函数起点的内存单元,执行函数代码,然后跳回到地址被保存的指令处。来回跳跃并记录跳跃位置意味着使用函

2020-12-13 15:34:08 175

原创 CUDA-C-Programming

Application CompatibilityMacro __CUDA_ARCH__ can be used to differentiate various code paths based on compute capability between host and device. It is only defined for device code. When compiling with -arch=compute_35 for example, __CUDA_ARCH__ is equal

2020-12-13 13:39:44 151

原创 C++ Primer Plus学习笔记06-分支语句和逻辑运算符

1 if语句2 逻辑表达式||或or, &&或and, !或notC++逻辑OR和逻辑AND运算符优先级都低于关系运算符;!运算符的优先级高于所有的关系运算符和算术运算符。3 字符函数库cctype简化诸如确定字符是否为大写字母、数字、标点符号等工作。#include <iostream>#include <cctype>int main(){ using namespace std; char ch; int whitespace = 0

2020-12-11 19:04:25 154

原创 C++ Primer Plus学习笔记05-循环和关系表达式

1 for循环// introducing the for loop#include <iostream>int main(){ using namespace std; int i; // create a counter // initialize; test; update for (i = 0; i < 5; i++) cout << "C++ knows loops.\n"; cout << "C++ knows whe

2020-12-11 18:30:10 205

原创 C++ Primer Plus学习笔记04-复合类型

数组、C-风格字符串和string类字符串结构、共用体、枚举和指针管理动态内存动态数组和动态结构自动存储、静态存储和动态存储vector和array类复合类型是基于基本整型和浮点类型创建的。影响最为深远的复合类型是类。1 数组(array)计算机在内存中依次存储数组的各个元素。数组的声明typeName arrayName[arraySize]:存储在每个元素中的值的类型数组名数组中的元素数arraySize不能是变量,即应该在编译时已知。数组之所以被称为复合类型,是因.

2020-12-11 16:34:38 273

原创 C++ Primer Plus学习笔记03-处理数据

C++变量命名规则C++内置的整型C++11新增的整型climits文件整型的数字字面值const限定符C++内置的浮点型cfloat文件浮点类型的数字字面值C++的算术运算符类型转换内置的C++类型分两组:基本类型和复合类型。本篇介绍基本类型——整数和浮点数。简单变量为了把信息存储在计算机中,程序必须记录3个基本属性:信息将存储在哪里要存储什么值存储什么类型的信息变量名C++命名规则:名称中只能使用字母字符、数字和下划线_名称的第一个字符不能是数字区分大.

2020-12-11 10:23:18 301

原创 C++ Primer Plus学习笔记02-开始学习C++

C++程序的基本结构C++程序的一般格式#include编译指令main()函数使用cout对象进行输出加入注释endl的使用声明和使用变量使用cin对象进输入简单函数的定义和使用// Display a message#include <iostream> // 预处理器编译指令int main(){ // 函数头 using namespace std; // 编译指令 cout << "Come up and C++ me some

2020-12-10 20:06:09 141

原创 C++ Primer Plus学习笔记01-预备知识

注:详尽介绍C++98,涵盖C++11新增的部分特性。C语言和C++的发展历史和基本原理过程性编程和面向对象编程C++如何在C语言的基础上添加面向对象概念和泛型编程概念的编程语言标准创建程序的技巧C++继承了C语言高效、简洁、快速和可移植性的传统,另外添加了面向对象和泛型编程的特性。C++ 简史C++是C语言的超级,意味着任何有效的C程序都是有效的C++程序。OOP部分赋予了C++语言将问题设计的概念联系起来的能力,C部分则赋予了C++语言紧密联系硬件的能力。C语言C语言是过程性(

2020-12-10 19:16:04 166

原创 CUDA编程学习笔记-already_true

主要参考 CUDA编程入门极简教程 , CUDA从入门到精通推荐书籍:《GPU高性能编程CUDA实战》(可操作性强)、《GPGPU编程技术》(全面客观详细介绍通用GPU编程的策略)、《OpenGL编程指南》(图形交互)、《GPU高性能运算之CUDA》(快速查询关键技术和概念)、各种工具使用手册CUDA (Compute Unified Devices Architecture)将并行计算从大型集群扩展到了普通显卡。在使用 CUDA 之后,我们获得了 GPU 的控制权,现在在编写代码时需要指明是

2020-12-10 14:04:50 465

原创 Pytorch-CUDA学习笔记

Pytorch-CUDA学习笔记C++ FRONTENDC++的高层封装,是Pytorch的C++版本。PyTorch利用CPython在front end的基础上添加一个胶水层,使使用者能够用Python调用。#include <torch/torch.h> //引入包auto model = torch:nn:Linear(5, 1); //模型声明auto optimizer = torch::optim::SGD(model->parameters(), /*lr=*

2020-12-09 16:29:51 654

原创 Python学习笔记(二)

Python学习笔记(二)数据结构和算法简单排序算法与查找算法学习笔记自 https://github.com/jackfrued/Python-100-Days数据结构和算法O(c)O(c)O(c) 布隆过滤器,哈希存储O(log2n)O(log_2n)O(log2​n) 二分查找O(n)O(n)O(n) 顺序查找,桶排序O(n∗log2n)O(n * log_2n)O(n∗lo...

2019-07-03 09:49:10 451

原创 Python学习笔记(一)

Python学习笔记图形用户界面和游戏开发基于tkinter模块的GUI使用Pygame进行游戏开发制作游戏窗口窗口中绘图加载图像实现动画效果碰撞检测功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的...

2019-07-02 11:50:39 967

原创 python网络爬虫学习笔记

python网络爬虫学习笔记Requests第三方库入门requests.get()Response对象获取网络资源的基本流程爬取网页的通用代码框架网络爬虫的盗亦有道Requests爬取实例Requests第三方库入门自动爬取HTML页面;自动网络请求提交主要方法说明requests.request()构造一个请求requests.get()获取HTML网页的主...

2019-05-28 15:04:09 322

原创 python网络爬虫学习笔记

python网络爬虫学习笔记Requests第三方库入门requests.get()Response对象获取网络资源的基本流程爬取网页的通用代码框架网络爬虫的盗亦有道Requests爬取实例Requests第三方库入门自动爬取HTML页面;自动网络请求提交主要方法说明requests.request()构造一个请求requests.get()获取HTML网页的主...

2019-05-28 15:04:02 296

原创 TensorFlow 学习记录

TensorFlow学习记录tfrecord文件的创建tf.train.Example()的使用序列化tfrecord文件的创建你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。tf.train.Example()的使用https://blog.csdn.net/hf...

2019-04-07 16:18:29 121

空空如也

空空如也

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

TA关注的人

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