![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
TheWindRisesll
这个作者很懒,什么都没留下…
展开
-
C++ :String的三种遍历方式(下标+operator[] 、迭代器、C++11新式for循环)
String的三种遍历方式(下标+operator[] 、迭代器、C++11新式for循环)把字符串“1234”转换为整形1234<1>下标+operator[]数组遍历用[]把"1234"转换成整形#include <iostream&原创 2019-03-08 16:09:44 · 6629 阅读 · 0 评论 -
C++ : 模板初阶(泛型编程、函数模板、类模板)
模板初阶(泛型编程、函数模板、类模板)泛型编程泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。函数模板概念函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。函数模板格式template<typename T1, typename T2,…,typename Tn>返回值类型 函数名...原创 2019-03-06 21:14:26 · 290 阅读 · 0 评论 -
C++ :String的使用方法(介绍、声明初始化、编码集、string接口的应用)
C++ :String的使用方法(介绍、声明初始化、编码集、string接口应用与实现)简单介绍string是表示字符串的字符串类该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。string在底层实际是:basic_string模板类的别名,typedef basic_string&amp;lt;char, char_traits, allocator&amp;gt;...原创 2019-03-10 21:29:18 · 2457 阅读 · 0 评论 -
C++ : STL关联式容器(map、set、multimap、multiset)
STL关联式容器(map、set、multimap、multiset)STL中的序列式容器,比如:vector、list、deque、forward_list(C++11)等,其底层为线性序列的数据结构,里面存储的是元素本身STL中的关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高键值对:用来...原创 2019-04-27 12:02:01 · 340 阅读 · 0 评论 -
C++ : 应用map统计水果的个数
C++ : 应用map统计水果的个数#include <iostream>#include <string>using namespace std;//左子树的所有值小于根节点,右子树的所有值大于根节点#include <map>template<class K, class V>inline std::pair<K, V...原创 2019-05-06 18:36:25 · 627 阅读 · 0 评论 -
C++ : 搜索二叉树的实现
C++ : 搜索二叉树的实现前面学习了关联式容器 map/multimap/set/multiset,这几个容器有个共同点是:其底层都是按照二叉搜索树来实现的思考一下:什么是二叉搜索树(O_O)? 其底层是二叉搜索树吗?(•ิ_•ิ)??二叉搜索树二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若左子树不为空,则左子树上所有节点的值都小于根节点的值若右子树不为...原创 2019-05-05 12:46:08 · 645 阅读 · 0 评论 -
C++ : AVL树的旋转图解及简单实现(插入、旋转、检测)
#pragma onceusing namespace std;template<class K, class V>struct AVLTreeNode{ AVLTreeNode<K, V>* _left; AVLTreeNode<K, V>* _right; AVLTreeNode<K, V>* _parent; //可以倒着走...原创 2019-05-07 13:54:26 · 662 阅读 · 0 评论 -
C++ :RAII-智能指针(auto_ptr、unique_ptr、shared_ptr )
智能指针#include <iostream>#include <vector>using namespace std;//RAII思想原型template<class T>class SmartPtr{public: SmartPtr(T* ptr) :_ptr(ptr) {} ~SmartPtr() { cout <...原创 2019-05-14 17:34:57 · 421 阅读 · 0 评论 -
C++ : 内存管理 上(C/C++内存分布、C语言中动态内存管理方式、C++内存管理方式(new、delete))
内存管理 上(C/C++内存分布、C语言中动态内存管理方式、C++内存管理方式(new、delete))C/C++内存分布int globalVar = 1; //全局、局部变量存储在数据段static int staticGlobalVar = 1;void Test(){ static int staticVar = ...原创 2019-03-02 19:29:55 · 268 阅读 · 0 评论 -
C++ :内存管理 下(在堆、栈上创建对象;单例模式(饿汉模式、懒汉模式);内存泄漏)
内存管理 下(在堆、栈上创建对象;单例模式(饿汉模式、懒汉模式);内存泄漏)请设计一个类,该类只能在堆上创建对象构造函数私有化将类的构造函数私有,拷贝构造声明成私有。防止别人调用拷贝在栈上生成对象。提供一个静态的成员函数,在该静态成员函数中完成堆对象的创建//只在栈上创建class HeapOnly{public: static HeapOnly* GetHeapOb...原创 2019-03-05 16:59:19 · 630 阅读 · 0 评论 -
C++中 vector的使用(vector的增容、vector 增删查改、迭代器失效、两个vector交换)
1.vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素,意味着可以采用下标对vector的元素进行访问,和数组一样高效。2.本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。就时间而言,这是一个相对代价高的任务,因为每当一个新的元...原创 2019-01-07 20:11:05 · 2107 阅读 · 0 评论 -
C++ :入门知识学习 上(命名空间、C++输入&输出、缺省参数)
C++ :入门知识学习(命名空间、C++输入&amp;amp;amp;输出、缺省参数、函数重载)命名空间使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染定义命名空间,需要使用到 namespace 关键字,后面跟命名空间的名字,然后接一对{ }即可,{ }中即为命名空间的成员注意 :一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中 ; 同一域不能取同名...原创 2019-02-21 16:53:49 · 266 阅读 · 0 评论 -
C++ :入门知识学习 中(函数重载、名字修饰规则及 extern "C" 的作用、指针空值nullptr(C++11))
C++ :入门知识学习(函数重载、名字修饰规则及 extern “C” 的作用)函数重载函数重载:是函数的一种特殊情况,C++ 允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同,常用来处理实现功能类似数据类型不同的问题举例:以下函数构成重载int Add(int left, int right){ return left+ri...原创 2019-02-22 16:32:27 · 264 阅读 · 0 评论 -
C++ : 入门知识学习 下(引用、内联函数、auto、新式for循环)
C++ : 入门知识学习3(引用、内联函数、auto、新式for循环)引用(别名)引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间,值、地址相同定义引用的表示方法与定义指针相似,只是用&amp;amp;amp;代替了*,引用(reference)是 C++ 对 C 语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变...原创 2019-02-23 17:35:08 · 567 阅读 · 0 评论 -
C++ : 类和对象上 ( 类详解、访问限定符及封装、作用域、实例化、类对象大小、this指针)
类和对象更好的模拟现实世界,认知世界类的使用和用法和C语言很像,类相比于C语言的结构体还多了方法类的引入C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数struct Student{ void SetStudentInfo(const char* name, const char* gender, int age) { strcpy(_name...原创 2019-02-24 17:41:12 · 255 阅读 · 0 评论 -
C++ : 实现一个Date类
C++ : 实现一个Date类#include "Date.h"int Date::GetMonthDay(int year, int month) //获得月份有多少天{ //1、写12个if //2、switch语句 //3、 //年份判断考虑闰年:四年一闰,百年不闰,四百年再一闰地球公转) static const int monthArray[13] = { 0, 31...原创 2019-02-28 15:19:51 · 619 阅读 · 0 评论 -
C++ : 类和对象中 ( 类的成员函数、构造函数、析构函数、拷贝构造函数、赋值运算符重载、const成员)
类和对象2 ( 类的成员函数、构造函数、析构函数、拷贝构造函数、赋值运算符重载、const成员)类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?不是的。任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数class Date{ };构造函数构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个...原创 2019-02-25 20:30:58 · 418 阅读 · 0 评论 -
C++ : 类和对象下(初始化列表、explicit关键字、static成员、 C++11 的成员初始化、友元、内部类)
类和对象3(再谈构造函数、static成员、 C++11 的成员初始化新玩法、友元、内部类)再谈构造函数1 构造函数体赋值在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值class Date{public: Date(int year, int month, int day) { _year = year; ...原创 2019-03-01 22:56:24 · 492 阅读 · 0 评论 -
C++ : List接口介绍及实现
List原创 2019-05-18 16:13:50 · 1164 阅读 · 0 评论