首页 > 编程语言 >C++-语法复习

C++-语法复习

时间:2023-06-05 15:45:27浏览次数:34  
标签:初始化 复习 C++ 语法 vector 数组 array

记录一些刷算法题中的常用C++语法。

STL相关

向量Vector

头文件:#include <vector>
初始化:vector <数据类型> 变量名 (长度,初始化值)
赋值初始化:vector <数据类型> 变量名 = {1,2,3,4,5}

可以作为数组
数组开头:array.begin()
数组结尾:array.end()
数组大小:array.size()

添加元素到尾部:array.push_back(x)
删除元素:
image

函数传参引用:vector<int>& array

集合Set

初始化:unordered_set<int> s;
可以作为哈希表:拥有去重的特性,增insert()、删erase()、查find()复杂度与哈希表相同,均为O(1)。

Map

可以作为计数器unordered_map<int, int> count

C++语法相关

循环遍历

for (int x: nums)
for(auto & i : t)

标签:初始化,复习,C++,语法,vector,数组,array
From: https://www.cnblogs.com/camilia/p/17457929.html

相关文章

  • 【IDE】WebStorm 调整Tab缩进为2空格 -- 为遵循ESLint语法规范
    在使用Vue开发项目的过程中,为了遵循ESLint语法规范,我们需要把Tab缩进改为2个空格IDEversionWebStorm2018.3步骤一修改这三处的值为:2步骤二把这两处默认的勾选去掉,不让其detection当前文件的Tab缩进注意!通过上面两个步骤,细心的同学会发现,我们只是改变了在JS文件的Tab缩进改为2个空格......
  • c++中正确使用round()来四舍五入计算
    说明四舍五入的函数参数可以有多种数据类型。不同的数据类型有不同的结果。当他的参数应该是浮点数的时候,结果才是真正的四舍五入。例子/*g++-g-std=c++17./src/basic_demo.cpp-obasic_demo*/#include<iostream>#include<cmath>voidtest_round(){//参数是......
  • C++ 随机数
    ​在许多情况下,需要生成随机数。关于随机数生成器,有两个相关的函数。一个是 rand(),该函数只返回一个伪随机数。生成随机数之前必须先调用 srand() 函数。 下面是一个关于生成随机数的简单实例。实例中使用了 time() 函数来获取系统时间的秒数,通过调用rand()函数来生......
  • C++ 定义数字
     我们已经在之前章节的各种实例中定义过数字。下面是一个C++中定义各种类型数字的综合实例:实例#include<iostream>usingnamespacestd; intmain(){//数字定义shorts;inti;longl;floatf;doubled; //数字赋值s=10;i=1000;l=1000000;f=23......
  • visual studio 2010 c++ 创建com组件
    在VisualStudio2010中创建COM组件需要执行以下步骤:1. 打开VisualStudio2010,选择“新建项目”。2. 在弹出的对话框中选择“VisualC++”-->“Win32”-->“Win32项目”,并选择“DLL”作为应用程序类型。3. 单击“下一步”按钮。在下一个页面上,选择“ATL”,然后单击“完......
  • 数字逻辑期末复习(二)
    数字逻辑期末复习(二)标签(空格分隔):未分类目录数字逻辑期末复习(二)null第三章组合逻辑电路3.1组合逻辑电路的特点3.2组合逻辑电路的分析3.2.1分析方法3.3组合逻辑电路的设计3.3.1逻辑抽象组合逻辑电路设计含有无关项的组合逻辑电路设计3.5常用组合逻辑电路3.5.1编码器普......
  • c++实现射线法 点和闭合区域位置关系判断
    c++实现射线法  点和闭合区域位置关系判断#include<iostream>#include<vector>structPoint{doublex;doubley;};structPolygon{std::vector<Point>vertices;};//定义三个点的方向//0-->点p,q,r是共线的//1-->顺时针//2-->......
  • C++之浅拷贝和深拷贝
    浅拷贝:简单的复制拷贝操作P1的生命周期结束后,判断m_PtrAge是否为空,很明显m_PtrAge的值是0x0100,不为空,释放m_PtrAge指向的内存;P2的生命周期结束后,同样判断m_PtrAge是否为空,很明显m_PtrAge的值也是0x0100,也不为空,再次释放m_PtrAge指向的内存空间;两次释放都指向同一块内存空间,造成......
  • C++智能指针:weak_ptr
    weak_ptr虽然是智能指针,但实际上是作为shared_ptr的辅助指针使用。weak_ptr通常不单独使用,一般用于查看对应的shared_ptr的信息。weak_ptr没有重载*,->等指针运算符。weak_ptr对象不会影响shared_ptr对象的引用计数。 #include<iostream>#include<string.h>#include<memory......
  • C++继承
      三类继承方式子类会将父类的所有非静态成员属性继承过来,只不过编译器隐藏了父类的私有属性,子类不可以访问。 1classBase{2public:3inta_;4protected:5intb_;6private:7intc_;8};910classSon:publicBase{11pu......