随笔分类 - C++自学笔记
摘要:#include<bits/stdc++.h> #define int long long using namespace std; signed main(){ return 0; } 注意到 #define int long long 而 main 函数必须返回一个 int 值,所以不能使用 i
阅读全文
摘要:小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果 两个直接相连的房子在同一天晚上被打劫 ,房屋将自动报警。 给定二叉树的
阅读全文
摘要:1.What is the difference between set vs map in C++ ? 👉stl - C++中的设置与地图有什么区别?- 堆栈溢出 (stackoverflow.com) The're fullfilling different purposes, one is
阅读全文
摘要:维基百科连接👇: nops substr() upper_bound() find()
阅读全文
摘要:给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:
阅读全文
摘要:关于C++ Closure 闭包 和 C++ anonymous functions 匿名函数 什么是闭包? 在C++中,闭包是一个能够捕获作用域变量的未命名函数对象,它包含了需要使用的“上下文”(函数与变量),同时闭包允许函数通过闭包的值或引用副本访问这些捕获的变量,即使函数在其范围之外被调用。
阅读全文
摘要:什么是位运算: 利用位运算符号进行二进制位计算的操作即为位运算 维基百科:👉Bitwise operations in C - Wikipedia 六个位运算符: SymbolOperator & bitwise AND | bitwise inclusive OR ^ bitwise XOR (
阅读全文
摘要:C++11 标准新引入了一种类模板,命名为 tuple(中文可直译为元组)。tuple 最大的特点是:实例化的对象可以存储任意数量、任意类型的数据。tuple 的应用场景很广泛,例如当需要存储多个不同类型的元素时,可以使用 tuple;当函数需要返回多个数据时,可以将这些数据存储在 tuple 中,
阅读全文
摘要:C++标准库<locale>: 声明: class locale; 接口:
阅读全文
摘要:1.虚函数引入类中之后,类会发生什么变化? 首先我们创建一个空类A,然后创建一个类的对象a,并打印它的占用空间大小 为1 我们再往类中添加两个成员函数后,再返回对象a的占用空间大小发现还是1 说明类A 的普通成员函数不占用类对象的内存空间 如果我们在类中添加一个虚函数后,对象的占用空间大小就变成 4
阅读全文
摘要:unordered_set C++ 11 为 STL 标准库增添了 4 种无序(哈希)容器,前面已经对 unordered_map 和 unordered_multimap 容器做了详细的介绍,本节再讲解一种无序容器,即 unordered_set 容器。 unordered_set 容器,可直译为
阅读全文
摘要:概念 左值:可以取地址并且有名字的东西就是左值。 右值:不能取地址的没有名字的东西就是右值。 纯右值:运算表达式产生的临时变量、不和对象关联的原始字面量、非引用返回的临时变量、lambda表达式等都是纯右值。 将亡值:可以理解为即将要销毁的值。 左值引用:对左值进行引用的类型。 右值引用:对右值进行
阅读全文
摘要:C++11引入了auto和decltype关键字 使用他们可以在编译期就推导出变量或者表达式的类型,方便开发者编码也简化了代码。 auto示例 auto a = 10; // 10是int型,可以自动推导出a是int int i = 10; auto b = i; // b是int型 auto d
阅读全文
摘要:原因: 在C++中, 由于以下原因, 变量通过引用传递: 1)要修改调用者函数的局部变量:引用(或指针)允许被调用函数修改调用者函数的局部变量。例如, 考虑以下示例程序, 其中fun()能够修改局部变量Xof主要(). 2)对于传递大型参数:如果实参很大,通过引用(或指针)传递更有效,因为实际上只传
阅读全文
摘要:sizeof(a)返回的是对象占用内存的字节数,而a.size()是string类定义的一个返回字符串大小的函数,两个是完全不一样的概念。 明确两者的概念和作用: 1、size()函数: c++中,在获取字符串长度时,size()函数与length()函数作用相同。 除此之外,size()函数还可以
阅读全文
摘要:static 关键字 的用法 以及特性 拿之前写过的 复数类 举例: 首先 我们来看没有 static 的 data 对象以及 function 对象 non-static data members: 在使用complex对象的时候,要调用其中的real函数: 实际上会利用 this point 去
阅读全文
摘要:auto的原理就是根据后面的值,来自己推测前面的类型是什么。 auto的作用就是为了简化变量初始化,如果这个变量有一个很长很长的初始化类型,就可以用auto代替。 1.用auto声明的变量必须初始化(auto是根据后面的值来推测这个变量的类型,如果后面没有值,自然会报错) 2.函数和模板参数不能被声
阅读全文
摘要:类的内部: public: 构造函数、拷贝构造、拷贝赋值、析构函数的接口 和辅助函数以及它的实现 private: 参数 类的外部: 内联:inline 构造函数: 判断是否有初值: 有初值: 分配空间(new) 拷贝内容到空间strcpy 成功创建新的字符串 没有初值: 分配空间(new)放结束符
阅读全文
摘要:String Class 带指针的Class不能用默认拷贝 构造函数、拷贝构造、拷贝赋值、析构函数 浅拷贝 导致内存泄漏 两个指针指一个 深拷贝 拷贝赋值 (检测自我赋值)效率更高 为了正确性(如果存在自我赋值 会出现 删除指向的同一个值 ) output 函数
阅读全文

浙公网安备 33010602011771号