|
|
1
8
TL;博士: 这很好。 这里有三个潜在的问题:
实际上,它们都不是问题。让我们从第一个开始。 创建一个生存期比实际生存期长的引用是 肯定 好的野外的许多代码都依赖于它才能正常工作, it is not listed under "Behavior considered undefined" 在参考中(尽管该列表并非详尽无遗),Rust中代码执行的所有当前模型(如Stacked Borrows或 MiniRust )采用这一原理(事实上,Stacked Borrows存在的原因是不依赖寿命来保证可靠性,而是拥有更细粒度的模型),并且 UCG#231 有人指出,很明显,生存期不会影响优化,只是目前某个地方没有指定。
所以我们来讨论第二个问题。问题是移动
你的直觉可能会说这很好,但现实更复杂。
对于(3),您当前的定义(声明
此代码编译成功是因为
|
|
Paul J. Lucas · _C中任意大小的原子结构体赋值? 1 年前 |
|
|
nore · 为什么C标准禁止在源文件末尾使用部分预处理令牌? 1 年前 |
|
Gene · 是否允许使用受约束的别名模板? 1 年前 |
|
|
yg-i · C的“基本执行字符集”中的字符总数究竟是多少? 1 年前 |