
C++
code的魅力
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中stack的pop()函数返回值
int temp = s.pop(); cout<<temp<<endl;运行代码会提示错误:error C2440: “初始化”: 无法从“void”转换为“int”【全部demo】#include <iostream>#include <stack>using namespace std;int mai...原创 2019-02-28 19:30:31 · 35696 阅读 · 0 评论 -
c++ map按value值排序
map默认是按key值从小到大排序的按value值排序:想直接用sort排序是做不到的,sort只支持数组、vetctor等的排序,所以我们可以先把map装进pair里,然后再放入vector,自定义sort实现排序假设已有一组map<string,int>类型的数mp,则具体实现过程为:vector< pair<string,int> > v...原创 2019-03-23 16:39:05 · 32359 阅读 · 9 评论 -
【C++ Stack overflow错误】程序运行时会出现 xxxx.exe 中的 0x00fa1c29 处有未经处理的异常: 0xC00000FD: Stack overflow
该异常表示栈溢出,也就是局部变量太大了,超过了编译器的设定的值。方法一:局部变量通过动态分配,分配堆内存,即,new或者malloc来分配堆上面的内存方法二:将“项目属性、链接器、系统、堆栈保留大小”设大一点比如16000000...原创 2019-03-22 10:58:29 · 2640 阅读 · 0 评论 -
【STL】vector删除元素,queue删除元素
【vector】向量容器的成员函数pop_back()可以删除最后一个元素。而函数erase()可以删除由一个iterator指出的元素,也可以删除一个指定范围的元素。还可以采用通用算法remove()来删除vector容器中的元素,不同的是,采用remove一般情况下不会改变容器的大小,而pop_back()与erase()等成员函数会改变容器的大小。【例子】remove(be...原创 2019-03-17 10:52:19 · 6132 阅读 · 0 评论 -
C++ 判断回文数 详细版 (超级简洁,很有趣的思路)【原有数字逆转,然后比较两数字是否相同,会有溢出】解决办法
【思路1】:把原有数字逆转,然后比较两数字是否相同。(不安全)但是由于int的限制,很可能会发生正向的数字没有溢出,但是反向的数字就溢出的情况(例如:2147483647,调转过来就溢出了)Int溢出后会不断减去或者加上4294967296直至整数范围落在-2147483648 ~ 2147483647内,所以如果直接调转过来可能会导致整数数值的变化,从而导致比较的不正确。【思路2...原创 2019-03-15 12:13:40 · 2637 阅读 · 1 评论 -
C++ vector 二位数组的【定义、初始化赋值、遍历访问(迭代器)】 (详细版,有代码)
【第一种定义和赋值方法】#include<iostream>#include<vector>using namespace std;int main(){ //第一种定义和赋值方式 vector< vector<int> > arr(5); //5行 for(int i=0;i<arr.size();i++) arr[...原创 2019-03-15 10:31:49 · 4112 阅读 · 0 评论 -
C++ 栈 用于括号匹配问题(详细版+题目)
code:#include<iostream>#include<stack>#include<string>using namespace std;int main(){ string s; stack<int> mystack; while(cin>>s) { string news = s; ...原创 2019-03-10 22:04:46 · 6993 阅读 · 0 评论 -
C++ cin>>n 的返回值
#include<iostream>#include<algorithm>#include<vector>using namespace std;int main(){ int n,temp; vector<int> arr; while(cin>>n) { for(int i=0;i<n;i++) {...原创 2019-03-10 17:12:16 · 15220 阅读 · 0 评论 -
list<int> a && list<int> a(m) 的区别(C++)
list<int> a && list<int> a(m) 的区别(C++)(1) list<int> a; 定义一个a 链表,链表大小未知。执行 a.push_back() 操作时,向后面加元素;(2)list<int> a(m) ; 定义一个a 链表,链表大小为m。执行 a.pu...原创 2019-03-02 21:57:40 · 717 阅读 · 0 评论 -
C++中vector作为参数的三种传参方式(传值 && 传引用 && 传指针)
c++中常用的vector容器作为参数时,有三种传参方式,分别如下:function1(vector<int> vec),传值 function2(vector<int> &vec),传引用 function3(vector<int> *vec),传指针注意,三种方式分别有对应的const形式,不在此讨论。三种方式对应的调用形式分别为...原创 2019-03-01 20:42:41 · 22364 阅读 · 3 评论 -
C++ 数组(vector)一维数组和二维数组
一维数组定义方法:#include <iostream>#include <vector>using namespace std;int main(){ vector<int> arr(10); //arr的长度为10 cout<<arr.size()<<endl; //10 vector<int&g...原创 2019-03-01 20:22:03 · 9937 阅读 · 2 评论 -
C++定义变长数组方法(两种方法)
C++定义变长数组方法这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做:#include<iostream>using namespace std;int main(){int len;cin>>len;//用指针p指向new动态分配的长度为len*sizeof(in...原创 2019-03-01 10:58:45 · 30795 阅读 · 3 评论 -
C++ new数组 && C++求数组最大值和最小值(最简单方式)
C++ new数组:#include<iostream>using namespace std;int main(){ int n; cin>>n; //分配动态一维数组 int *arr=new int[n]; for(int i=0;i<n;i++) cin>>arr[i]...原创 2019-02-28 22:08:36 · 4777 阅读 · 0 评论 -
C++中栈和队列的使用方法(satck和queue)
栈(stack):#include <iostream>#include <stack>using namespace std;int main(){ stack<int> s; if(s.empty()) cout<<"empty"<<endl; //empty s.push(1); s.push(6)...原创 2019-02-28 19:55:07 · 443 阅读 · 0 评论