右值引用是c++11提出的, 还真难搞懂, 花了不少的时间找资料
背景
先需要知道什么是左值什么是右值
简单的来说 左值 出现在等号的左边和右边
右值 只能出现在等号的右边, 不能出现在等号的左边
令一种区分左值和右值的办法是取地址符, 只有左值可以被取地址, 右值无法被取地址
所以, 右值是一些常量和一些临时变量, 没有名字
左值是一些有名字的变量
要想要搞懂右值引用就要明白右值引用的出现是来解决什么问题的
可以看这里 https://www.zhihu.com/question/22111546
里面讲的非常明白, 关于右值引用出现的缘由
move()
move() 的作用将右值利用起来, 不被浪费
比如一个函数返回了一个占用内存非常大的变量, 在c++中这样势必会出现拷贝的开销
比如
1
2
3
4
5
6
7
8
struct...
Thursday, December 27, 2018
Wednesday, December 26, 2018
算法题-二阶魔方还原
admin
December 26, 2018
No comments

pdf版题目
二阶魔方还原
by Siqi Na
时间限制: 1000 ms 内存限制: 10240 KB
问题描述
二阶魔方是 2x2x2 的立方体结构魔方,它共有 8 块,如下图所示:
图1 二阶魔方示意图
我们可以定义魔方作为一个正六面体的六个面为 F(ront), B(ack), U(p), D(own), L(eft), R(ight)。我们根据先前后后,先上后下,先左后右的方法,依次给魔方的每一个方块编号,块编号的方式如下表所示:
表1 二阶魔方块编号表
带块编号的魔方平面展开图如下图所示:
图2 带块编号的二阶魔方平面展开图
与三阶魔方不同,二阶魔方的每个块均有...
Subscribe to:
Posts (Atom)