摘要: 一. 位操作基础 位运算符分为逻辑运算符(~、|、&、^)和移位运算符(<<、>>、>>>)。位运算操作的是二进制的数。 逻辑运算符1、^(亦或运算) ,针对二进制,相同的为0,不同的为1。 2、&(与运算) 针对二进制,只要有一个为0,就为0 3、| 两个位只要有一个为1,那么结果就是1,否则就为 阅读全文
posted @ 2021-03-03 10:51 Mr-xxx 阅读(1313) 评论(0) 推荐(0) 编辑
摘要: 一、案例 There are N network nodes, labelled 1 to N. Given times, a list of travel times as directededges times[i]=(u,v,w), where u is the source node, v  阅读全文
posted @ 2020-12-10 15:12 Mr-xxx 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 除了普通迭代器,C++标准模板库还定义了几种特殊的迭代器,分别是插入迭代器、流迭代器、反向迭代器和移动迭代器,定义在<iterator>头文件中,下面主要介绍三种插入迭代器(back_inserter,inserter,front_inserter)的区别。首先,什么是插入迭代器?插入迭代器是指被绑 阅读全文
posted @ 2020-12-05 19:18 Mr-xxx 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。 若可行,输出任意可行的结果。若不可行,返回空字符串。 示例 1: 输入: S = "aab"输出: "aba"示例 2: 输入: S = "aaab"输出: ""注意: S 只包含小写字母并且长度在[1, 500]区间内。 解法 阅读全文
posted @ 2020-12-05 16:41 Mr-xxx 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 一、背景引入 如果我有一个函数f和一个对象x,我希望在x上调用f,而且我在x的成员函数之外。C++给我三种不同的语法来实现这个调用: // 语法#1:当f是一个非成员函数 f(x); // 语法#2:当f是一个成员函数 ,而且x是一个对象或一个对象的引用 x.f(); // 语法#3:当f是一个成员 阅读全文
posted @ 2020-12-03 16:26 Mr-xxx 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 简单来将,仿函数(functor)就是一个重载了"()"运算符的struct或class,利用对象支持operator()的特性,来达到模拟函数调用效果的技术。 我们平时对一个集合类遍历的时候,例如vector,是这样做的: 1 for(vector<int>::const_iterator ite 阅读全文
posted @ 2020-12-03 15:35 Mr-xxx 阅读(338) 评论(0) 推荐(0) 编辑
摘要: not1是构造一个与谓词结果相反的一元函数对象,not2是构造一个与谓词结果相反的二元函数对象。 not1: 1 // not1 example 2 #include <iostream> // std::cout 3 #include <functional> // std::not1 4 #in 阅读全文
posted @ 2020-12-03 11:16 Mr-xxx 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: compose1和compose2均是用于参数合成 比如: f(x)=3*x,g(y)=y+2,那么compose1(f(x),g(y))=(y+2)*3 g1(x)=3*x,g2(x)=2*x,h(x)=a+b,那么compose2(h(x),g1(x),g2(x))=3*x+2*x 大体效果就是 阅读全文
posted @ 2020-12-03 11:04 Mr-xxx 阅读(461) 评论(0) 推荐(0) 编辑
摘要: c++开发中我们会经常用到插入操作对stl的各种容器进行操作,比如vector,map,set等。在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器 阅读全文
posted @ 2020-12-01 22:44 Mr-xxx 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 目录 起因 typename的常见用法 typename的来源 一些关键概念 限定名和非限定名 依赖名和非依赖名 类作用域 引入typename的真实原因参考 一个例子 问题浮现 千呼万唤始出来 不同编译器对错误情况的处理 使用typename的规则 其它例子 再看常见用法 写在结尾 起因 近日,看 阅读全文
posted @ 2020-11-30 17:14 Mr-xxx 阅读(1029) 评论(0) 推荐(0) 编辑