随笔分类 - C++ & STL
摘要:参数传递共有三种方式,即值传递、指针传递、引用传递。 值传递 值传递就是在调用函数的时候将实参的值拷贝后赋值给形参,形参改变不会改变实参,各自有各自的空间。且形参为局部变量,函数运行完后会被操作系统释放掉。 #include <iostream> using std::cout; using std
阅读全文
摘要:map是常用的STL容器,但是map容器跟别的容器不太一样,每次使用map容器时,对于map的插入方式总是遗忘,特此记录 定义一个map关联式容器 map<int, string> map; 第一种 C++11新标准,使用花括号直接初始化,直接向map中插入元素, map.insert({1, 'z
阅读全文
摘要:new和malloc的内存分配在哪 分配在堆上。 也有说new是分配在自由存储区而malloc分配在堆上,自由存储区可以是堆也可以不是,具体要看new内部的实现。 操作系统在堆上维护一个空闲内存链表,当需要分配内存的时候,就查找这个表,找到一块内存大于所需内存的区域,分配内存并将剩余的内存空间返还到
阅读全文
摘要:刷剑指offer遇到元素排列问题 No27 字符串的排列 函数使用 题目描述: 输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。 例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。 解题
阅读全文
摘要:先说结论: ==没有区别== length()是因为沿用C语言的习惯而保留下来的。 string类最初只有length(),引入STL之后,为了兼容又加入了size(),它是作为STL容器的属性存在的,便于符合STL的接口规则,以便用于STL的算法。 源代码: size_type __CLR_OR_
阅读全文
摘要:没有返回类型的指针称为空指针。它可以是任何类型的数据类型。 void指针是一种不明确类型的指针,任何指针都可转为void指针 void指针只保存了指针两个重要信息其中的一个,即只存储了指针目标的内存首地址 若需要对void指针操作,先将void指针指向原先指向的类型 下面看代码 #include <
阅读全文
摘要:智能指针是行为类似于指针的类对象,可以将new获得(直接或者间接)的地址赋给这种对象。当智能指针过期时,其析构函数将使用delete来释放内存。因此,如果将new返回的地址赋给这些对象,将无需记住稍后释放这些内存:在智能指针过期时,这些内存将自动被释放。 shared_ptr<double>pd;
阅读全文
摘要:(C++文件操作) 程序运行时产生的数据都属于临时数据,程序运行结束都会被释放 通过文件可以将数据永久化 C++中对文件操作需要包含头文件#include<fsrteam> 操作文件三大类: ofstream 写操作 ifstream 读操作 fstream 读写操作 一、文本文件 写文件 写文件步
阅读全文
摘要:C++数组输出 C++中输出数组数据分两种情况:字符型数组和非字符型数组 当定义变量为字符型数组时,采用cout<<数组名; 系统会输出数组中的字符,如 char arr[] = {'1', '2'}; cout << arr << endl ; //输出12 如果想输出字符数组的地址,则需要进行强
阅读全文
摘要:(ofstream 和 ifstream 详细用法) 导读 ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O. stream这个类有两个重要的运算符:
阅读全文
摘要:类内定义的枚举类型,在类外引用时需要在枚举类型前加上作用域。 案例: class A{ public: enum Day {Mon = 0, Tue, Wed, Thu, Fri, Sat, Sun}; }; A::Day today = A::Day::Fri;
阅读全文
摘要:在 C++ 中,vector 是一个十分有用的容器。它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负责管理与存储元素相关的
阅读全文
摘要:一、优先队列原理 队列(queue)是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。 优先队列(priority_queue)容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,队列中最大的元素总是位于队首。出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素
阅读全文