摘要:
有时候需要频繁调用一些函数,而编译器在调用函数的时候会消耗栈空间。为了解决这种问题,我们可以使用关键字 inline 举个栗子 这是我们熟悉的函数 int sum(const int &a,const int &b) { return a + b; } int main(int argc, char 阅读全文
摘要:
数组容器 array 首先惯例引入头文件 #include <array> 然后定义一个数组 std::array<int,10> a; 表示我创建了一个数组a,含有10个 int 型的元素。 或者可以在声明的同时初始化这个数组 std::array<int,10> a{}; 这样数组 a 里面的 阅读全文
摘要:
int a = 10; int &b = a; cout << b<< endl; 运行结果,b = 10; 可以把 &b 理解为对 a 取的别名 我们看一下 a 和 b 的地址 0x7ffdcab9f58c 0x7ffdcab9f58c 可以看出来 a 和 b 是公用一块地址的,或者可以理解为 b 阅读全文
摘要:
直接看代码 int a = 10; int b = 10; int array[a + b]; 这种行为显然是错误的,如果这种方式可行,那么也不用费尽心思去搞什么动态分配内存了。(当然了不排除有些编译器能通过。) 但是如果我将a b 都定义为const,那么再所有编译器就都可以通过了 const i 阅读全文
摘要:
栈 先入后出,只有top的一个元素是可见的。在前面c语言部分已有图示,参考 https://www.cnblogs.com/qifeng1024/p/12512765.html 惯例引入头文件 #include <stack> 首先定义一个栈 stack<string> s; 这样做是没有问题的。 阅读全文
摘要:
bitset类 有些类似bool数组 全部有1 和 0组成的一个字符数组 首先引入头文件 #include <bitset> 定义一个bitset类对象 bitset<4> bit_val; 意思是定义一个bitset对象,名字叫 bit_val ,长度为4,目前没有赋值 ,也就是 这个值是 000 阅读全文
摘要:
首先我们有一个父类 class Father { public: Father(int tall); int tall; void fuc(); }; Father::Father(int tall) { this->tall = tall; } void Father::fuc() { cout< 阅读全文
摘要:
list也是一个容器,和vector一样,不同的是,list是用双向链表实现的,所以对于list来说,在中间插入删除数据要比vector快得多 首先引入头文件 #include <list> 创建一个list std::list<int> lgh; 和vector一样 可以在创建的同时初始化 比如 阅读全文
摘要:
先引入头文件 #include <string> 首先定义一个string字符串 std::string str; 下文中使用 using namespace std 命名空间 在定义字符串的同时,可以初始化他,赋给他一个值 string str("cat dog big"); 这个效果就等同于c语 阅读全文
摘要:
向量vector 可以理解为一个能存放任意类型的动态分配的数组。 这里展示一些常用的函数 加入头文件 #include <vector> 首先创建一个vector std::vector<int> v; 表示我要创建一个向量,这个向量名字叫v,存放的全都是int型的数据。 这里的 int 可以换成 阅读全文