C++入门
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++入门,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4626字,纯文字阅读大概需要7分钟。
内容图文
![C++入门](/upload/InfoBanner/zyjiaocheng/666/46dc365c42f44e24bf92a5e528be1804.jpg)
目录
一、容器
1.vector数组
主要内容:
①定义方式
②输出单个元素
③遍历输出
主要函数:
①获取大小v.size()
②获取首指针,获取尾指针v.begin()/v.end()
#include <iostream>
#include <vector>
using namespace std;
int main(void){
//定义方式
vector<int> v1;
vector<int> v2(10);
vector<int> v3(10,4);
//输出单个元素
cout << v2[0] << endl;//默认为0
cout << v3[0] << endl;//输出4
//获取大小
cout << v2.size() << endl;
cout << v3.size() << endl;
//遍历方式
for(int i = 0; i < v3.size(); i++){
cout << v3[i] << " ";
}
cout << endl;
//常用遍历方式:迭代器
for(auto it = v3.begin(); it!=v3.end(); it++){//输出与上一排相同
cout << *it << " ";//访问要对it指针取值
}
cout << endl;
return 0;
}
2.Set集合
主要内容
①定义方式
②增删改查
③遍历
主要函数
①插入s.insert()
②查找s.find()
③获取头尾指针s.begin()/s.end()
④删除s.erase()
#include<iostream>
#include<set>
using namespace std;
int main(void){
//定义方式
set<int> s;
//插入元素
s.insert(3);
//输出首元素
cout << *(s.begin()) << endl;
//循环插入
for(int i = 1; i <6; i++){
s.insert(i);
}
//迭代输出
for(auto it = s.begin(); it != s.end(); it++){
cout << *it << " ";//输出1 1 2 3 4 5
}
//查询集合中是否含有该元素
cout << endl << (s.find(2) != s.end()) << endl;
cout << (s.find(10) != s.end()) << endl;
//删除集合中 的某元素
s.erase(1);
cout << (s.find(1) != s.end()) <<endl;
return 0;
}
3.map映射
//unordered_map省去排序过程,如果map超时可使用
#include <iostream>
#include <map>
using namespace std;
int main(void){
//定义方式
map<string,int> m;
//设置键值对的方式
m["hello"] = 2;
cout << m["hello"] << endl;
cout << m["world"] << endl;
m["world"] = 3;
m[","] = 1;
//迭代输出键与值的方式
for(auto it = m.begin(); it != m.end(); it++){
cout << it->first << " " << it->second << endl;
}
//输出第一个与最后一个键值对的方式
cout << m.begin()->first << " " << m.begin()->second << endl;
cout << m.rbegin()->first << " " << m.rbegin()->second << endl;
return 0;
}
4.stack栈
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> s;//定义一个空栈s
for (int i = 0; i < 6; i++) {
s.push(i);
}
cout << s.top() << endl; // 访问s的栈顶元素
cout << s.size() << endl; // 输出s的元素个数
s.pop(); // 移除栈顶元素
return 0;
}
5.queue队列
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
for (int i = 0; i < 6; i++) {
q.push(i);
}
cout << q.front() << " " << q.back() << endl;
cout << q.size() << endl;
q.pop();
return 0;
}
二、算法
1.bitset位运算
#include <iostream>
#include <bitset>
using namespace std;
int main(){
bitset<5> b("11");//5表示w个二进位
//初始化方式:
//bitset<5> b; 都为0
//bitset<5> b(u); u为unsigned int, 如果 u = 1,则被初始化为10000
//bitset<5> b(s); s为字符串,如”1101“ ->”10110“
//bitset<5> b(s, pos, n); 从字符串的s[pos]开始,n位长度
for(int i = 0; i< 5; i++){
cout<< b[i];
}
//很多方法都是针对1的
cout << endl << b.any();//b中是否存在1的二进制位?
cout << endl << b.none();//b中不存在1吗?
cout << endl << b.count();//b中1的二进制位的个数
cout << endl << b.size();//b中二进制位的个数
cout << endl << b.test(2);//测试下标为2处是否二进制位为1
b.set(4);//下标4变为1
b.reset();//所有位归零
b.reset(3);//下标3处归零
b.flip();//b的所有二进制位逐位取反
unsigned long a =b.to_ulong();//b转换成unsigned long类型
return 0;
}
2.sort排序
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(int a, int b){//自定义cmp函数
return a > b;
}
int main(void){
vector<int> v(10);
for(int i = 0; i < 10; i++){
cin >> v[i];
}
//注意vector传入方式
sort(v.begin(), v.end());//默认从小到大
for(auto it = v.begin(); it != v.end(); it++){
cout << *it << " ";
}
int arr[10];
for(int i = 0; i < 10; i++){
cin >> arr[i];
}
//注意数组的传入方式
sort(arr,arr+10,cmp);//传入自写的cmp,从大到小
for(int i = 0; i < 10; i++){
cout << arr[i] << " ";
}
}
三、C11特性
1.auto声明
2.to_string
3.stoi、stod...
#include<iostream>
#include <set>
#include <string>
using namespace std;
int main(void){
//一、auto声明:自动推断类型
auto x = 100;
auto y = 1.5;
set<int> s;
s.insert(4);
s.insert(2);
s.insert(5);
for(set<int>::iterator it = s.begin(); it != s.end(); it++) {
cout << *it << " ";
}
cout << endl;
for(auto it = s.begin(); it != s.end(); it++){
cout << *it << " ";
}
cout << endl;
//二、 to_string
string s1 = to_string(123);
cout << s1 << endl;
string s2 = to_string(4.5);
cout << s2 << endl;
cout << s1 + s2 << endl;
printf("%s\n", (s1 + s2).c_str());//如果想用printf输出string得加一个.c_str()
//三、stoi、stod:string转化为对应的int和double型
string str = "123";
int a = stoi(str);
cout << a << endl;
str = "123.44";
double b = stod(str);
cout << b << endl;
//stof
//sstold
//stol
//stoll
//stoul
//stoull
return 0;
}
内容总结
以上是互联网集市为您收集整理的C++入门全部内容,希望文章能够帮你解决C++入门所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。