c/c++
文章平均质量分 59
Hot_Dog_215
这个作者很懒,什么都没留下…
展开
-
春节刷题day15:[LeetCode:424、978、5668、剑指 Offer 38]
春节刷题day15:LeetCode剑指 Offer 38. 字符串的排列1、剑指 Offer 38. 字符串的排列class Solution {public: bool vis[10]; vector<char> ans; vector<string> now; unordered_map<string, bool> pa; void slove(string s){ if((int)ans.size(原创 2021-02-21 17:06:20 · 100 阅读 · 0 评论 -
STL:resize和reserve的区别【vector内存分配机制】
vector:resize和reserve的区别写在前面为了区别这两个函数的功能,首先我们需要区别两个属性的概念。capacity:发生 realloc 前能允许的最大元素数,即预分配的内存空间。预留位置不初始化,元素不可访问。size:当前 vector 容器真实占用的大小,也就是容器当前拥有多少个元素。可以进行遍历。capacity >= size。ps:假设有一瓶容量为500ml的矿泉水,但是现在里面只装了300ml的水,那么capacity即为500,size即为300。#i原创 2021-02-20 16:35:27 · 326 阅读 · 0 评论 -
STL:map、unordered_map与multimap
map、unordered_map与multimapmap简介关联容器。键值对的映射(key - value)。key作为唯一标识,不能重复,但是value可以。按照键值有序排列(默认从小到大)。底层实现为红黑树,查询效率为O(logN)。常用操作clear():删除所有元素empty():当map为空时返回真begin():返回一个指向map头部的迭代器end():返回一个指向map尾部的迭代器rbegin():返回一个指向map尾部的逆向迭代器rend():返回一个指向ma原创 2021-02-19 12:30:04 · 188 阅读 · 0 评论 -
组合类构造函数、析构函数、拷贝构造函数的调用顺序
组合类构造函数、析构函数、拷贝构造函数的调用顺序这些天在看C++的过程中一直搞不太懂构造函数和析构函数的调用顺序,特别是析构函数,不带参数不好进行测试,这里把这几天遇到的问题写了个代码跑了一下,和大家分享一下,写的有不对的地方,欢迎大家批评指正。测试代码#include<cstdio>#include<cmath>#include<iostream>#include<algorithm>using namespace std;class P原创 2021-02-16 21:24:54 · 1565 阅读 · 5 评论 -
组合类构造函数初始化列表初始化成员变量的顺序
组合类构造函数初始化列表初始化成员变量的顺序昨天说的今天更新组合类的构造函数通过初始化列表初始化成员变量的顺序,还好没有拖拉,这几天也算是渐渐的明白了一些,在这里和大家分享,若有错误,欢迎大家批评指正。test1#include<cstdio>#include<cmath>#include<iostream>#include<algorithm>using namespace std;class Point{private: int m原创 2021-02-16 21:53:01 · 617 阅读 · 0 评论 -
构造函数初始化列表初始化成员变量的顺序
构造函数采用初始化列表进行初始化时,成员变量的赋值顺序最近学C++的时候一直很迷惑,特别是组合类的构造函数的执行顺序,一直都让我很头疼(下一篇博客再分享吧),在这里和大家分享一下,顺便写的有不对的地方,欢迎大家批评指正。test1#include<cstdio>#include<iostream>#include<algorithm>using namespace std;class Point{private: int m_x; int m_y;原创 2021-02-15 20:43:33 · 863 阅读 · 0 评论 -
C++:函数指针、指针函数、常量指针、指针常量、常量指针常量、常量引用、引用常量
C++:函数指针、指针函数、常量指针、指针常量、常量指针常量、常量引用、引用常量原谅一个菜鸡把这些概念整理到一起,目的是为了加深下印象,同时也和大家一起分享,写的有误的地方还请大家多多包涵和指正。大概从接触c语言指针开始一直到学习c++的过程中,这些概念我始终都很难以彻底搞明白,总是当初记得,然后过几天就忘记了。之后再次见到这些代码时就完全搞不清楚了。1、函数指针指向函数的指针(没错,我就是这样记的)。函数指针本质上是一个指针,不过这个指针是指向函数的,既然指针可以指向变量,那么指向函数也不足为奇了。原创 2021-02-04 11:26:04 · 237 阅读 · 1 评论 -
C++:const + 引用传递参数
C++:const + 引用传递参数与const + 值传递参数的区别考虑如下两段代码参数的传递有何差别void Slove(const vector<int> &v){ //函数实现}void Slove(const vector<int> v){ //函数实现}上述两段代码的主要区别是形参是值传递还是引用传递。对于基本的数据类型(int、bool、double等)而言,可能两种写法的区别不是很大,但是形参为vector、list、map、se原创 2021-02-03 16:06:18 · 1281 阅读 · 2 评论 -
C++:构造函数、析构函数、拷贝构造函数
C++:构造函数、析构函数、拷贝构造函数一、构造函数(constructor)构造函数是一种特殊的成员函数,不需要函数调用语句,在创建对象时由系统自动调用。构造函数的作用是在对象被创建时使用特定的值去构造对象,使得在创建对象时就能够自动地完成对象的初始化。名称与类名相同;不能有任何返回类型,包括void类型;参数可有可无,通过函数参数的不同来区别不同的构造函数;Code#include<cstdio>#include<cstdlib>#include<io原创 2021-01-23 01:16:25 · 254 阅读 · 0 评论