
c++
文章平均质量分 76
AliceWanderAI
北邮自动化学院,研究方向:图像处理,机器学习
展开
-
解读CUDA C Programming Guide 第三章第2节
本文简单解读第三章:Programming Interface.本书旨在介绍进行CUDA并行优化的C编程指导。共5章,内容分别是: Introduction Programming Model Programming Interface Hardware Implementation Performance Guidelines 本章主要内容包括: Compilation with NVCC CUDA C Runtime..原创 2020-10-25 15:04:15 · 272 阅读 · 0 评论 -
C++ STL六大组件-6-Allocator(分配器)
C++ STL六大组件-简析------------------------------------------C++ STL六大组件-1-Container(容器) C++ STL六大组件-2-Adapter(适配器)C++ STL六大组件-3-Algorithm(算法)C++ STL六大组件-4-Iterator(迭代器)C++ STL六大组件-5-Function object(函数对象)C++ STL六大组件-6...原创 2020-10-20 21:44:08 · 877 阅读 · 0 评论 -
C++ STL六大组件-5-Function object(函数对象)
C++ STL六大组件-简析------------------------------------------C++ STL六大组件-1-Container(容器) C++ STL六大组件-2-Adapter(适配器)C++ STL六大组件-3-Algorithm(算法)C++ STL六大组件-4-Iterator(迭代器)C++ STL六大组件-5-Function object(函数对象)C++ STL六大组件-6...原创 2020-10-20 21:33:50 · 1515 阅读 · 0 评论 -
C++ STL六大组件-4-Iterator(迭代器)
视C++为一个语言联邦: 理解C++的全貌,学习C++的编程范式:过程/面向对象/函数式/元编程/泛型编程。 尽量以const/enum/inline替换#define:对于单纯的常量,最好用const对象/enums来替换#define,对于形似函数的宏,最好用inline函数替换#define. 尽可能使用const:const可以用于任何作用域内的对象/函数参数/函数返回类型/成员函数本体。可以帮助避免出错。 确定对象被使用前已经先被初始化:读取未初始化的值会导致不明确的行为。 了解C++ .原创 2020-10-16 20:42:15 · 812 阅读 · 0 评论 -
C++ STL六大组件-3-Algorithm(算法)
C++ STL六大组件-简析------------------------------------------C++ STL六大组件-1-Container(容器) C++ STL六大组件-2-Adapter(适配器)C++ STL六大组件-3-Algorithm(算法)算法简介 算法分类 非可变序列算法 可变序列算法 排序算法 数值算法 算法细分 查找算法(13个) 排序和通用算法(14个) 删除...原创 2020-08-20 19:57:36 · 702 阅读 · 0 评论 -
C++ STL六大组件-2-Adapter(适配器)
C++ STL六大组件-简析-----------------------------------------------------------------------------------------------Container(容器) Adapter(适配器) 容器适配器 queue priority_queue stack 函数适配器 迭代器适配器 Algorithm(算法) Iterator(迭代器)...原创 2020-08-19 18:49:46 · 2208 阅读 · 0 评论 -
C++ STL六大组件-1-Container(容器)
C++ STL六大组件-简析----------------------------------------------------------------------------------------------------------------------------------------------C++ STL六大组件-1-Container(容器)容器定义 常见容器 容器分类 顺序容器 vector deque list 关联容器 map .原创 2020-08-19 13:42:44 · 2592 阅读 · 2 评论 -
C++ STL六大组件-简介
STL(Standard Template Library),即标准模板库,是一个高效的C++程序库。包含了诸多在计算机科学领域里常用的基本数据结构和基本算法。从逻辑层次来看,在STL中体现了泛型化程序设计的思想(generic programming)。从实现层次看,整个STL是以一种类型参数化(type parameterized)的方式实现的。STL的六大组件如下:Container(容器) Adapter(适配器) Algorithm(算法) Iterator(迭代器) Fu...原创 2020-08-18 11:25:40 · 4754 阅读 · 0 评论 -
1.栈---按标签刷完Leetcode 热题100
为了快速提高编程技能,立此flag。之前打算10天刷完100道,感觉效果不佳,也懒得总结到博客里。按照标签刷题,可以一天把一个主题练习到一定的熟练度,而不仅仅是背题。这样,可以用同样的时间达到更好的训练效果。这里主要完成难度等级为中等的题目:1. 栈栈的中等难度题目主要如下:#94 二叉树的中序遍历#394 字符串解码#739 每日温度...原创 2020-03-19 13:55:04 · 297 阅读 · 0 评论 -
力扣#394 字符串解码
难度:中等给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3...原创 2020-03-19 13:54:35 · 248 阅读 · 0 评论 -
按标签刷完Leetcode 热题100
为了快速提高编程技能,立此flag。之前打算10天刷完100道,感觉效果不佳,也懒得总结到博客里。按照标签刷题,可以一天把一个主题练习到一定的熟练度,而不仅仅是背题。这样,可以用同样的时间...原创 2020-03-19 12:57:34 · 795 阅读 · 0 评论 -
同一段代码搞定二叉树的前序/中序/后序遍历
首先来看看前序/中序/后序遍历的简单流程前序遍历:root, left, right;中序遍历:left, root, right;后序遍历:left, right, root;这个前中后,说的是遍历root结点的顺序,左右子树的顺序始终没变。递归的方法很简单,因此不再赘述。迭代的方法却往往让人“一看就会,一写就废”。下面介绍一种方法,记住这个套路后,任它哪种“序”都不虚。...原创 2020-03-18 17:35:10 · 216 阅读 · 0 评论 -
解读CUDA C Programming Guide 第三章第1节(共6节)(3/5)
本系列为《解读CUDA C Programming Guide》.本书旨在介绍进行CUDA并行优化的C编程指导。共5章,内容分别是:Introduction Programming Model Programming Interface Hardware Implementation Performance Guidelines本文简单解读第三章:Programming Inte...原创 2020-03-15 18:04:24 · 304 阅读 · 0 评论 -
#3. 无重复字符的最长子串
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: ...原创 2020-03-14 22:53:42 · 224 阅读 · 0 评论 -
解读CUDA C Programming Guide (2/5)
本系列为《解读CUDA C Programming Guide》.本书旨在介绍进行CUDA并行优化的C编程指导。共5章,内容分别是:Introduction Programming Model Programming Interface Hardware Implementation Performance Guidelines本文简单解读第二章:Programming M...原创 2020-03-12 16:22:43 · 322 阅读 · 0 评论 -
C++面向对象笔记58条
类是C++的核心特性;类中的数据和方法成为类的成员;类成员函数:a. 定义在类内部的函数;可操作类的任意对象,可用访问对象中的所有成员;b. 成员函数可定义在类内部,也可使用范围解析运算符::来定义;c. 类定义中定义的成员函数把函数声明为内联的,即使没有使用inline关键字;类访问修饰符:public/private/protecteda. 数据封装是OOP的一个重要特点。防止...原创 2020-01-06 21:16:41 · 196 阅读 · 0 评论 -
C++基础-简要笔记
C++的面向对象四大特性:a. 封装 b. 抽象 c. 继承 d. 多态C++基本语法:C++可以定义为对象的集合,对象通过调用彼此的方法进行交互。对象是类的实例。数据类型:七种基本数据类型:a. 布尔型 boolb. 字符型 charc. 整型 intd. 浮点型 floate. 双浮点型 doublef. 无类型 voidg. 宽字符型 wchar...原创 2020-01-06 19:45:52 · 172 阅读 · 0 评论 -
Effective C++【学习笔记】Item2
Accustoming yourself to C++------------------------------------------------------------------------------------Item2:Prefer consts, enums, and inlines to #defines.换句话说: Prefer the compiler to ...原创 2019-02-22 10:45:15 · 253 阅读 · 0 评论 -
Effective C++【学习笔记】Preface
摘抄:55 specific ways to improve your programs and designs.-------------------------------------------------------------------------------------IntroductionGeneral design strategies The nuts an...原创 2019-02-21 11:19:21 · 191 阅读 · 0 评论 -
Effective C++【学习笔记】Item1
Chapter1 Accustoming yourself to C++本书教导读者如何高效地使用C++编程,给读者提出了甚多有用的建议。在这些建议里,其中的一些比其他的更基础更重要。本章讲的就是这些最基础最重要的某些建议。Item1--------------------------------------------------------------------------...原创 2019-02-21 11:41:49 · 253 阅读 · 0 评论 -
assert 关键字
用法总结与注意事项:1)在函数开始处检验传入参数的合法性如:int resetBufferSize(int nNewSize){//功能:改变缓冲区大小,//参数:nNewSize 缓冲区新长度//返回值:缓冲区当前长度//说明:保持原信息内容不变 nNewSize<=0表示清除缓冲区assert(nNewSize >= 0);assert(nNewSiz...原创 2019-11-05 13:14:19 · 278 阅读 · 0 评论 -
extern 关键字
利用关键字extern,可以在一个文件中引用另一个文件中定义的变量或者函数利用extern关键字,使用在后边定义的变量。二、引用另一个文件中的变量extern这个关键字的真正的作用是引用不在同一个文件中的变量或者函数。num这个关键字在b.c中是一个全局变量,也就是说只有当一个变量是一个全局变量时,extern变量才会起作用extern关键字只需要指明类型和变量名就行了,不能再重新赋值,...原创 2019-11-05 13:02:45 · 156 阅读 · 0 评论 -
inline 关键字
原创 2019-11-05 12:55:43 · 140 阅读 · 0 评论 -
面向对象的三个基本特征 和 五种设计原则
转自: http://blog.youkuaiyun.com/cancan8538/article/details/8057095一、三个基本特征 面向对象的三个基本特征是:封装、继承、多态。 o_OOBase.gif 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行转载 2017-08-14 17:45:33 · 338 阅读 · 0 评论 -
C++学习笔记【第一部分第七章:类】
类的相关知识原创 2017-09-04 15:14:42 · 323 阅读 · 0 评论 -
C++学习笔记【第二部分第八章:IO类】
IO类 1. 标准库使我们能忽略不能流之间的差异是通过继承机制实现的。 2. io对象无拷贝或赋值 3. 进行io操作的函数通常以引用方式进行传递&返回流。读写IO不能是const的,因为会改变对象的状态 4. 如果程序异常终止,输出缓冲器的不会被刷新的 5. 关联输入和输出流,tie。比如x.tie(&o)将流x关联到输出流o 6. 将istream对象关联到另原创 2017-09-05 15:29:05 · 315 阅读 · 0 评论 -
C++学习笔记【第二部分第九章:顺序容器】
顺序容器 1. C++程序应该使用标准库容器,而不是更原始的数据结构如内置数组 2. 通常,使用vector是最好的选择,除非有很好的理由选择其他容器 3. 顺序容器类型 ● vector,可变大小数组,快速随机访问,尾部插入删除快 ● deque,双端队列,快速随机访问,头尾插入删除快 ● list,双向链表,双向顺序访问,任何位置插入删除快 ● forw原创 2017-09-05 15:51:37 · 332 阅读 · 0 评论 -
C++学习笔记【第二部分第十章:泛型算法】
泛型算法 1. 算法永远不会改变底层容器的大小,因为算法不会执行容器操作,它们运行在迭代器之上 2. 算法可能改变容器中保存的元素的值,也可能在容器内移动元素,但永远不会直接删除或添加元素 3. 对于只读取而不改变元素的算法,通常最好使用cbegin() & cend()。find,count,equal是只读算法 4. 算法不检查写操作 5. 向目的位置迭代器写入数据原创 2017-09-05 17:49:32 · 355 阅读 · 0 评论 -
C++学习笔记【第二部分第十二章:动态内存】
动态内存静态内存保存局部static对象,类static数据成员,以及定义在任何函数之外的变量 栈内存用来保存定义在函数内的非static对象 分配在静态内存或者栈内存的对象由编译器自动你那个创建和销毁 程序使用堆来存储动态分配的对象 两种智能指针的行为类似常规指针,重要的区别是它负责自动释放所指向的对象 shared_ptr允许多个指针指向同一个对象,unique_prt”独占“所...原创 2017-09-14 10:29:51 · 351 阅读 · 0 评论 -
C++学习笔记【第二部分第十一章:关联容器】
关联容器 1. map & set是两个主要的关联容器类型 2. multi允许重复关键字,unordered开头表示无序保存 3. 关联容器不支持顺序容器关于位置的操作,也不支持构造函数或插入操作 4. 关联容器的迭代器是双向的 5. set中只有关键字没有值 6. 对于有序容器map,multimap,set,multiset必须定义关键字比较的方法 7原创 2017-09-06 15:05:51 · 356 阅读 · 0 评论 -
C++学习笔记【第二部分第十二章:动态内存】
动态内存 1. 静态内存保存局部static对象,类static数据成员,以及定义在任何函数之外的变量 2. 栈内存用来保存定义在函数内的非static对象 3. 分配在静态内存或者栈内存的对象由编译器自动你那个创建和销毁 4. 程序使用堆来存储动态分配的对象 5. 两种智能指针的行为类似常规指针,重要的区别是它负责自动释放所指向的对象 6. shared_ptr原创 2017-09-15 15:23:07 · 303 阅读 · 0 评论 -
C++学习笔记【第三部分第十三章:拷贝控制】
第十三章 拷贝控制 1. 在定义任何C++类时,拷贝控制操作都是必要部分。 2. 拷贝构造函数的第一个参数必须是引用类型,且是自身类类型的引用。 3. 拷贝构造函数在几种情况会被隐式使用,所以不应该是explicit 4. 合成拷贝构造函数会进其参数的成员逐个拷贝到正在创建的对象中 5. 每个成员的类型决定了它的拷贝方式:对于类类型的成员,使用拷贝构造函数来拷贝;内置类原创 2017-09-19 16:21:10 · 560 阅读 · 0 评论 -
C++学习笔记【第三部分第十四章:重载运算与类型转换】
第十四章 重载运算和类型转换 1. 除了重载的函数调用运算符operator()之外,其它重载运算符不能含有默认实参 2. 当一个重载的运算符是成员函数时,this绑定到左侧运算对象。成员运算符函数的(显示)参数数量比运算对象少一个 3. 如果运算符指定了运算对象求值顺序,那么重载之后,这些求值顺序规则无法保留;|| 和&&也无法保留短路求值属性 4. 因此不建议重载上面的运原创 2017-11-30 09:35:16 · 307 阅读 · 0 评论 -
C++学习笔记【第三部分第十五章:面向对象程序设计】
第十五章 面向对象程序设计 1. 面向对象程序设计基于三个基本概念:数据抽象,继承,动态绑定 2. 基类将类型相关的函数与派生类不做改变直接继承的函数区分对待。对于某些函数,基类希望它的派生类各自定义适合自己的版本,基类就将这些函数声明为虚函数 3. 派生类必须在其内部对所有重新定义的虚函数进行声明 4. 派生类显式地注明它将使用哪个成员函数改写基类的虚函数,具体措施是在该函原创 2017-11-30 09:36:37 · 436 阅读 · 0 评论 -
【c++】vector简要用法
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: 首先在程序开头处加上#include以包含所需要的类文件vector 还有一定要加上using name转载 2017-08-06 16:37:43 · 284 阅读 · 0 评论