栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++小结

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++小结

C++小结 C++相较于c异同,优势,注意点
  • c语法可以在c++中用,输入scanf和输出print效率比cin和cout快,算法题中时间超过的可以试试他们,做简单题时,cin和cout更方便

  • c++的STL标准模板库,很多leedcode题用得到。c++标配:using namespace std;以及return 0;

  • scanf和printf在stdio.h里,cin和cout在iostream里

  • cin>>n是传值进n,所以是>>。cout同理

  • endl转行等同于’n’

  • c++使用c头文件格式:#include (相当于c去掉.h)

  • bool值为true和false,也可判断数字,非0则true

  • const定义常量,也定义数据类型

  • 相较于c用char[]处理字符串,c++使用string(和java一样,但s不用大写),注意string只能用cin和cout

    cin读字符串以空格为分隔符,读整行字符串(带空格)可用getline,用法getline(cin,s)

    substr截取子串,用法string s1 = s.substr(a,b) //从下标a开始,b个字符,无b表示到最后一个

  • c++定义struct后,使用不要再写struct(类比class类)

  • c++定义数组vector(动态数组)(c用int arr[],不能随意改变长度),头文件#include

    可以直接分配大小,也可以resize定义,不需要初始化默认为0

    1. 用法vector v1(a,b)//a是数组大小,b是给每个元素复制 末尾加元素v1.push_back(i)

    2. 迭代器遍历访问(vector,set,都一样),v1.begin()指向第一个元素的指针,v1.end()指向最后一个元素的后一个位置。

      使用:for(auto it = v1.begin();it != v1.end;it++)访问用cout<<*it

  • #include

    判断字母isalpha© (包括⼤写、⼩写) ⼩写字⺟islower© 大写字⺟isupper©

    字⺟⼤写⼩写+数字isalnum© (space和 t) isblank © ( space 、 t 、 r 、 n )isspace©

    大写转小写tolower© 小写转大写toupper©

c++细节
  • c++容器:vector,stack,queue,map,set.均可用.size获取大小,.length也可以写成.size

  • 集合set中元素不同,set会按从小到大排(调用#include )

    • 用法:set s 插入s.insert(1) 输出第一个*(s.begin())

    ​ 查找is.find(i) != s.end() 删除is.erase(i)

    ​ unordered_set会省去set中按大小排序,刷题超时可以考虑(调用#include )

    ​ 其他用法和set相同

  • 映射map是键值对,按键从小到大排序(调用#include )

    • 用法map m //string为键,int为值 赋值m["hello"] = 2 //key为hello,value为2

      访问valuem["hello"]

      迭代器输出键it->first 输出值it->second 最后一个元素m.rbegin()

      unordered_map会省去map中按键值排序,刷题超时可以考虑(调用#include )

      其他用法和map相同

  • 栈同ds(调用#include )

    定义 stack s 进栈s.push() 访问栈顶元素s.top() 移除栈顶元素s.pop()

  • 队列同ds(调用#include )

    定义 queue q 进队列q.push() 访问队首元素q.front() 访问队首元素q.back()

    移除队首元素q.pop()

  • 位运算bitset(调用#include <)

  • sort(调用#include )

    使用sort(v.begin(), v.end()) //默认从小到大

    可使用cmp设置排序规则sort(v.begin(), v.end(),cmp)

    bool cmp(int a, int b) {return a > b;} //从大到小 注:只能是>或者<

    cmp可以使用结构体指定排序规则

  • c++11实用技巧

    auto x 自动推断变量类型 set::iterator it(迭代器声明可以用auto it)

    for循环(遍历整个数组方便) 修改数组元素值需要&i

    for (int i : arr)
     cout << i << endl; //遍历整个数组,并输出每个元素
    
    

​ to_string (调用 #include ) 数字转字符串

​ stoi 将字符串转化为int

​ stod 将字符串转化为double

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971757.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号