HELLO WORLD--一起加油(🍺)!|

kingwzun

园龄:3年6个月粉丝:111关注:0

c++速成笔记

可变数组

#include <iostream>//读写
#include <vector>
using namespace std;
int main()
{//可变数组
vector <int> vNums(2);//关键1
vNums[0]=11;
vNums[1]=2;
vNums.push_back(3);//关键2
cout<<"Vector Size:"<<vNums.size()<<endl;
//输出数组长度
return 0;
}

可变字符串,字符串输出,赋值

#include <iostream>//读写
#include <string>//字符串
#include <vector>
#include <sstream>
//#include<bits/stdc++.h>
using namespace std;
int main()
{
vector <string> words;
stringstream ss ("Some Random Words");
string word;
while(getline(ss,word ,' '))
//ss复制到word上 遇到空格暂停
{
words.push_back(word);//复制到尾部后面
}
for(int i=0;i<word.size();i++)
{
cout<< words[i]<<endl;
}
return 0;
}

//创建随机数

srand(time(NULL));

字符串

#include <iostream>//读写
#include <string>//字符串
#include <vector>
#include <sstream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
string str1 = "I,m a string";
cout << "let : "<< str1[0] << endl;
// cout << "Last : " << str1.back() << endl;
//
cout << "Length : "<< str1.length() << endl;
//获取字符串长度
string str2 = str1;
//完全复制
string str3(str2, 4);
//复制str2前 4 位 到str3
string str4 = str1 + " and your not ";
//字面意思
str4.append("!");
//在str4后面加上 !
cout <<"New String :" <<str4 << endl;
//输出
str4.erase(12,str4.length() - 1);
//没听懂,关于删除的
cout <<"New String : " <<str4 << endl;
//
if(str4.find("string")!=string::npos)
//find str4中有没有string 并且返回位置(数字)
//npos字符串的最后一个字符位置
cout<<"String Index:"<<
str4.find ("string")<<endl;
//输出位置(数字)
cout << "Substring : "<<str4.substr(6,7) <<endl;
//获取字串,从第六个字符,长度是7
string strNum = to_string(1+2);
//将整数转化为字符串
cout << "I,m a String : " <<strNum<<endl;
char letterZ = 'z';
char num5 = '5';
char
return 0;
}

数学函数

在这里插入图片描述
在这里插入图片描述

引用运算符号

共享地址
指针只是存储了地址

#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include<bits/stdc++.h>
using namespace std;
void AssingnAge(int *age)
{
*age=18;
}
int main()
{
int age = 43;
AssingnAge(&age);
cout <<age<<endl;
return 0;
}

函数宏

#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include<bits/stdc++.h>
using namespace std;
#define PI 3.1415926
#define AREA_CIRCLE(radius) (PI * pow(radius , 2))
int main()
{
cout << "Circle Area"<<
AREA_CIRCLE(5)<<endl;
return 0;
}

模板函数

template <typename T>

容器

双端队列

一个两端膨胀或收缩的动态数组

#include<bits/stdc++.h>//万能头
#include <deque>//双端队列头
#include <iterator>//遍历头
using namespace std;
int main()
{
deque<int >nums={1,2,3,4};
nums.push_front(0);//在头部添加0
nums.push_back(5);//在尾部添加5
for(int x:nums) cout << x<<endl;//遍历输出所有元素
cout<<nums[0]<<endl;//像普通数组一样单独输出
return 0;
}

迭代器

用于指向容器内存地址

#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<int > nums= {1,2,3,4};
vector<int>::iterator itr;
for(itr = nums.begin();
itr<nums.end();
itr++)
//itr从nums开头遍历到尾
{
cout<<*itr<<endl;//注意*
}
vector<int> ::iterator int2 = nums.begin();
//定义迭代器,并初始化为在nums开头
advance(itr2,2);//itr2迭代器每次向后移动2格
cout<<*itr2<<endl;
auto itr3 = next(itr2,1);
cout<<*itr3 <<endl;
auto itr4 = prev(itr2,1);//退回一个itr2
cout<<*itr4<<endl;
vector<int >nums3 ={1,4,5,6};
vector<int> nums4 ={2,3};
auto itr5 =nums3.begin();
advance(itr5,1);
copy(nums4.begin(),nums4.end(),//copy
insert(nums3,itr5));
for(int &i:nums3)
cout<<i<<endl;
return 0;
}

本文作者:kingwzun

本文链接:https://www.cnblogs.com/kingwz/p/15187917.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   kingwzun  阅读(104)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起