快速从C转到C++

C++学习笔记

头文件

#include <cmath>
#include <cstdio>
#include <cctype>
#include <cstring>

Const

常量的定义

Getline

cin读入字符串是以空格为分隔符,getline可以读取一整行字符串

string s;
getline(cin, s)//读取一行字符串,包括空格
cout<<s.length()

substr

string s2 = s.substr(4);
string s3 = s.substr(5, 3);//下标从5开始,3个字符

struct

struct str{
    int grade;
    float score;
};

stu arr[10];

引用传值

& 代表引用传值

容器

vector, stack, queue, map, set

大小 size()函数

vector常用的方法

//
// Created by wenbinAi on 2020/1/10.
//

#include <iostream>
#include <vector>

using namespace std;

int main(){
    vector<int> a;
    cout<<a.size()<<endl;
    for(int i = 0; i < 10; i++){
        a.push_back(i);
    }
    cout << a.size() << endl;

    vector<int> b(15);
    cout << b.size() << endl;
    for(int i = 0; i < b.size(); i++){
        b[i] = 15;
    }

    vector<int> c(20, 2);
    for(int i = 0; i < c.size(); i++){
        cout << c[i] << " ";
        cout << endl;
    }
    for(auto it = c.begin(); it != c.end(); it++){
        cout << *it <<" ";
    }

    return 0;
}

集合set

set是集合,⼀个set⾥⾯的各元素是各不相同的,⽽且set会按照元素进⾏从⼩到⼤排序

//
// Created by wenbinAi on 2020/1/10.
//

#include <iostream>
#include <set>

using namespace std;

int main(){
    set<int> s;
    s.insert(1);
    cout<<*(s.begin())<<endl;

    for(int i = 0; i < 6; i++){
        s.insert(i);
    }

    for(auto it = s.begin(); it != s.end(); it++){
        cout<<*(it)<<" ";
    }
    cout<<endl;

    return 0;
}

map

//
// Created by wenbinAi on 2020/1/10.
//

#include <iostream>
#include <map>

using namespace std;

int main(){
    map<string, int> m;
    m["hello"] = 2;
    cout<<m["hello"]<<endl;
    cout<<m.size()<<endl;
    m["world"] = 3;
    for(auto it = m.begin(); it != m.end(); it++){
        cout<<it->first<<" "<<it->second<<endl;
    }

    return 0;
}

stack

//
// Created by wenbinAi on 2020/1/10.
//

#include <iostream>
#include <stack>

using namespace std;

int main(){
    stack<int> s;
    for(int i = 0; i < 6; i++){
        s.push(i);
    }

    cout<<s.top()<<endl;
    cout<<s.size()<<endl;
    s.pop();
    cout<<s.size()<<endl;
    return 0;
}

cmp排序

//
// Created by wenbinAi on 2020/1/10.
//
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct stu{
    int number;
    int score;
};

bool cmp(stu a, stu b){
    if(a.score != b.score)
        return a.score > b.score;
    else
        return a.number < b.number;
}

int main(){
    stu s[3];
    for(int i = 0; i < 3; i++){
        cin>>s[i].number;
        cin>>s[i].score;
    }
    for(int i = 0; i < 3; i++){
        cout<<s[i].number<<" "<<s[i].score;
    }
    cout<<endl;
    sort(s,s+3,cmp);
    for(int i = 0; i < 3; i++){
        cout<<s[i].number<<" "<<s[i].score;
    }
    return 0;
}

//输入输出:
//1 85
//2 98
//3 84
///1 852 983 84
//2 981 853 84

unordered_map 与 unordered_set

头文件

#include<unordered_map>#include <unorder_set

C++11新特性

  1. auto 自动推导变量

  2. to_string

    将非字符串量转化为字符串

    string s1 = to_string(123);
    string s2 = to_string(4.5);
  3. stoistod

    将字符串转化为intdouble类型

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务