![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
球球你别秀了
这个作者很懒,什么都没留下…
展开
-
c++字典树(智能指针shared_ptr实现)
#include<bits/stdc++.h>using namespace std;struct Node{ bool isTrue;//节点是否为有效 map<char, shared_ptr<Node>> next;};void add(shared_ptr<Node> root, string word, int cur = 0){ if(cur == word.size()) { ro原创 2020-08-08 00:07:42 · 336 阅读 · 0 评论 -
C++中explicit关键字的用法
C++中的explicit可以阻止在构造函数时发生的隐式转换class A{ public : A(int num) : n(num) {} private: int n;};class B{ public : explicit B(int num) : n(num) {} private: int n;...原创 2018-10-30 16:35:45 · 127 阅读 · 0 评论 -
C++11对map容器的访问:下标访问、at()、find、lower_bound&upper_bound、equal_range
C++中对map容器的访问有好几种方式,最简单的就是直接通过下标访问,但是这种模式有一个缺点就是如果被访问元素不在map中,会插入此元素并初始化,下面详细介绍几种访问方式:1 下标访问:map<int ,int> m;m[1]=111;m[2]=222;m[3]=333;cout<<m[4];此时输出:0可见下标访问输出了一个本来没有的m[4...原创 2018-10-30 11:12:34 · 34862 阅读 · 1 评论 -
C++11中insert的返回值
在C++11中,关联容器都有insert()操作,其返回值是一个pair,pair的first返回指向元素的迭代器,second是一个bool,true表示原容器中没有要插入的元素并且插入成功,false与前者相反。 map<int,int> m; int a=0,b=1; auto ret=m.insert({1,1}); cout<<...原创 2018-10-29 20:32:02 · 3033 阅读 · 0 评论 -
C++11中emplace的最简单初步的理解
emplace是对容器添加元素时的操作,与之前的insert、push_back相比效率更高,简单的来说就是可以提升容器的插入效率。vector:emplace == insertemplace_back == push_backset:emplcace== insertmap:emplace== insert除以上三种外还有emplac...原创 2018-10-29 20:21:53 · 2573 阅读 · 0 评论 -
C++输入方法:cin.get() cin.getline() getline()
1.cin.get()(1)输入单个字符char a;a = cin.get();cin.get(a);(2)输入指定长度的char[]字符串,只能是char[],不能是stringchar a[10];cin.get(a,10);(3)输入到arrayname字符数组中,当到达长度size时结束或者遇到字符s时结束,仍然只能是char[],不能是stringchar a[1...原创 2019-04-06 11:20:16 · 230 阅读 · 0 评论