gpt4 book ai didi

swift - 二元运算符 '+' 不能应用于两个 'int2' 操作数。需要使用 '&+'

转载 作者:可可西里 更新时间:2023-10-31 23:59:04 27 4
gpt4 key购买 nike

我正在尝试将一些代码从 Objective-C 转换为 Swift 并遇到这种情况:

import simd

let a = int2(1, 0)
let b = int2(0, 1)

print(a + b) // COMPILER FAILS
print(a &+ b) // SUCCESS

为什么要将完全可以理解的语法更改为这种神秘的符号?

最佳答案

摘自关于 Swift 2 的 Xcode 7 发行说明:

SIMD improvements: Integer vector types in the simd module now only support unchecked arithmetic with wraparound semantics using the &+, &-, and &* operators, in order to better support the machine model for vectors. The +, -, and * operators are unavailable on integer vectors, and Xcode automatically suggests replacing them with the wrapping operators.

(来自 https://developer.apple.com/library/ios/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc7_release_notes.html)

不寻常的语法是专门用来明显地表明加法是用未经检查的算术完成的。

关于swift - 二元运算符 '+' 不能应用于两个 'int2' 操作数。需要使用 '&+',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36160970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com