C++
文章平均质量分 76
C++基操,练习
S5242
这个作者很懒,什么都没留下…
展开
-
ACM输入输出练习--字符串分割
ACM输入输出练习—学会即可举一反三,主要针对字符串类型分割处理。如果输入是一窜数字和逗号组合的字符串 同样可以把每个数字转为int进行下一步操作。用一个atoi() 转一下即可。这里利用getline()和字符串流来分割字符串并格式化输出,思路大概如此。原创 2022-09-14 00:47:02 · 392 阅读 · 1 评论 -
布隆过滤器
文章目录概念:1.插入2.查找3.删除布隆过滤器优缺点模拟实现:概念:布隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的 一种紧凑型的、比较巧妙的概率型数据结构,特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”,它是用多个哈希函数,将一个数据映射到位图结构中。此种方式不仅可以提升查询效率,也可以节省大量的内存空间。底层可理解为:hash+bitset;主要功能:海量数据中查判断一个数据存不存在;1.插入eg:向布隆过滤器中插入:“baidu”原创 2022-05-21 23:08:05 · 1194 阅读 · 0 评论 -
位图-->bitset
文章目录1.函数接口部分功能模拟实现:1.函数接口包含以下接口构造std::bitset<8> foo;构造一个8位的bitsetstd::bitset<100> foo(int a);将a转为2进制并放入一个长为100位的bitset中函数功能bool all() const noexcept;判断bitset中所有位是否都已设置(为1)。bool any() const;bitset中是否存在值为1s原创 2022-05-21 22:23:52 · 277 阅读 · 0 评论 -
map存储自定义类型数据
问题引出:有时候我们会有用map存储自定义类型的需求首先看个map存储自定义类型数据失败的例子顺便分析一下原因这里自定义了一个结构体对象Teststruct Test{public: Test(int a, int p, string s) :m_a(a), m_p(p), m_s(s) {} int m_a; int m_p; string m_s;};void main() { Test t1(1, 4,"苹果"); Test t2(1, 10,"草莓"); Test t原创 2022-05-07 16:25:53 · 1919 阅读 · 1 评论 -
map 部分函数用法
1.at()c++11类似于 operator[ ]访问元素的操作,通过key找到和 key对应的value并将其返回。当key不存在时,operator[ ]默认插入该<key,value>键值对,而at()会直接抛出异常。使用eg:int main (){ std::map<std::string,int> mymap = {{ "alpha", 0 },{ "beta", 0 },{ "gamma", 0 } }; mymap.at("alpha") = 1原创 2022-03-24 19:42:34 · 2536 阅读 · 0 评论 -
C++多态2----多态实现原理
文章目录1 . 多态原理2虚表和虚函数的存储3.单继承和多继承关系的虚函数表3.1单继承(无虚函数覆盖)3.2 单继承(有虚函数覆盖)3.3 多继承(无虚函数覆盖)3.4 多重继承(有虚函数覆盖)4 动态绑定与静态绑定5 抽象类原创 2022-03-09 08:53:37 · 958 阅读 · 0 评论 -
c++多态1---基础知识和概念
1.多态概念理解2.多态构成条件3.虚函数&虚函数重写4.关键字:override 和 final (C++11)5 重载、覆盖(重写)、隐藏(重定义)概念和对比1.多态概念理解概念:多态即多种形态,去完成某个行为,当不同的对象去完成时会产生出不同的状态。可以理解为相同的函数,传入的对象不同,产生的结果也会不同。这有利于代码的扩展和维护。原创 2022-03-06 16:14:43 · 491 阅读 · 0 评论 -
c++ 模板的特化
对模板进行特化,在原模板类的基础上,针对特殊类型所进行特殊化的实现方式。模板特化中分为函数模板特化与类模板特化(全特化/偏特化).原创 2022-01-11 19:35:06 · 3990 阅读 · 4 评论 -
字符串深浅拷贝和写实拷贝实现
以C++中字符串拷贝为例,分析深浅拷贝和写时拷贝的核心思想和代码。原创 2021-12-18 15:45:07 · 1805 阅读 · 0 评论 -
calloc(),malloc(),realloc(),_alloca()
复习一下c语言的几个动态开辟内存的函数calloc(),malloc(),realloc(),_alloca()原创 2021-12-17 16:42:07 · 140 阅读 · 0 评论 -
前置++后置++和前置--后置--
这两个操作符最直观的区别是:前置++先自增+1,然后取自增后的值运算;后置++是运算时取原先的值运算,然后自增+1。效率方面前置++效率会高一些,建议使用。那么这两个操作符在c++中实现时有哪些区别?为了方便理解,可以看关于年月日中日期自增的一个例子;class Date{public: // 全缺省的构造函数 Date(int year = 1900, int month = 1, int day = 1):_year(year),_month(month),_day(day) {原创 2021-12-13 11:18:28 · 1891 阅读 · 0 评论 -
AVL树-->增加节点
分析AVL树的性质,实现AVL树增加节点操作。原创 2021-05-21 15:04:21 · 432 阅读 · 2 评论 -
二叉搜索树(BST)分析及实现
二叉搜索树(BST)的概念,以及插入删除操作分析和实现。原创 2021-05-17 11:39:49 · 1740 阅读 · 7 评论 -
c++ 继承
文章目录1.继承的概念及定义1.1继承的概念1.2 继承定义2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元6.继承与静态成员7.复杂的菱形继承及菱形虚拟继承8.继承和组合原创 2021-05-12 18:22:56 · 1334 阅读 · 10 评论 -
c++ 模拟实现stack,queue和priority_queue(优先级队列)
c++ 模拟实现stack,queue和priority_queue(优先级队列)原创 2021-04-23 15:30:38 · 320 阅读 · 0 评论 -
c++ string类功能模拟实现
对string类的部分常用功能进行了简单的模拟实现:resize,reserve,查找,删除,插入,输入输出流重载等.然后与一步步系统的string接口进行比较测试,完成模拟实现。原创 2021-04-19 10:42:26 · 323 阅读 · 0 评论 -
c++中vector类功能模拟实现
c++模拟实现了vector的常见构造,插入,删除erase(),预留空间reverse(),重调大小resize()等操作;原创 2021-04-08 21:59:13 · 220 阅读 · 0 评论 -
c++ 中List类部分函数功能实现
C++模拟实现了双向循环List部分接口功能;原创 2021-04-08 19:51:48 · 164 阅读 · 0 评论 -
c++中模板是什么
1.函数模板2.函数模板的实例化3. 类模板原创 2021-04-02 15:55:43 · 663 阅读 · 0 评论 -
C++动态内存管理(new/delete的使用)
1.new/delete操作内置类型2.new/delete操作2.1. new/delete自定义类型2.2.operator new与operator delete函数2.3 new和delete的实现原理3.定位new表达式(placement-new)问题1 .malloc/free和new/delete的区别2.什么是内存泄漏,内存泄漏的危害原创 2021-03-28 12:28:24 · 223 阅读 · 0 评论 -
c++ 内部类特点
c++ 内部类的一些特点原创 2021-03-24 14:27:01 · 194 阅读 · 0 评论 -
c++类中的静态成员与静态成员函数的特性(static)
c++中静态成员与静态成员函数的特性声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态的成员变量一定要在类外进行初始化。原创 2021-03-23 21:34:58 · 2311 阅读 · 0 评论 -
构造函数(补充)
1.构造函数体赋值2.初始化列表3.explicit关键字原创 2021-03-23 21:36:09 · 199 阅读 · 0 评论 -
c++中 Date(年月日)类的各种操作实现
C++练习写了一个日期类的操作,日期增减,// 获取某年某月的天数//根据年月日判断这是这一年的第几天等操作原创 2021-03-23 08:25:38 · 2098 阅读 · 0 评论 -
友元函数与友元类
c++中友元函数与友元类的概念和特点理解原创 2021-03-19 21:17:00 · 654 阅读 · 1 评论 -
初识C++3——类的六个默认成员函数
C++ 类的六个默认成员函数。 1.构造函数2.析构函数3.拷贝构造函数4.赋值操作符重载5.取地址操作符重载6.const取地址操作符重载原创 2021-03-15 10:50:47 · 176 阅读 · 0 评论 -
初识c++2——类
1.类的定义2.类的作用域3.类的实例化4.类的大小5.this指针原创 2021-03-11 16:18:34 · 549 阅读 · 0 评论 -
初识c++1——入门知识
C++基础知识1:命名空间2:输入&输出3. 函数重载4:引用5.内联函数6.auto关键字(C++11)7.基于范围的for循环(C++11)8.指针空值nullptr(C++11)原创 2021-03-09 17:25:56 · 1280 阅读 · 1 评论