【Hacker News搬运】面向C++实践者的Swift,第1部分:简介和价值类型
-
Title: Swift for C++ Practitioners, Part 1: Intro and Value Types
面向C++实践者的Swift,第1部分:简介和价值类型
Text:
Url: https://www.douggregor.net/posts/swift-for-cxx-practitioners-value-types/
该文章针对正在学习Swift的C++实践者,提供了Swift的入门介绍,并解释了某些C++方面的Swift翻译方法。文章涵盖了Swift中的值类型、结构体和枚举等主题,并将它们与C++对应物进行了比较。它还讨论了Swift和C++之间的某些差异,例如Swift处理不可变性和内存安全的方式。作者强调了解这些差异的重要性,以便有效地使用Swift。 文章讨论了在Swift中使用枚举和值类型的方法,并将它们与C++进行了比较。 Swift中的枚举可以有相关值、方法,并且可以被扩展,使其比C++中的枚举更加多才多艺。 Swift中的值类型,如结构体和枚举,总是可复制的、可销毁的、可赋值的和可移动的,如果它们符合Equatable和Hashable协议,还可以用作字典中的键或集合中的值。 文章还介绍了间接枚举案例的概念,这对于构建递归数据结构非常有用。 作者最后总结说,在Swift中经常使用值类型,因为它们的优秀局部推理能力以及能够以直接方式建模大多数数据,而引用类型(如类)将在系列的下一部分进行讨论。
Post by: ksec
Comments:
gilgoomesh: If you're not aware, the author is Doug Gregor, one of the lead developers on the Swift team at Apple. Parts 1 to 5 in this series were all posted on the same day:<p><a href="https://mastodon.social/@dgregor79@sfba.social/112253040283087966" rel="nofollow">https://mastodon.social/@dgregor79@sfba.social/1122530402830...</a>
gilgoomesh: 如果您;你不知道,作者是Doug Gregor,苹果Swift团队的主要开发人员之一。本系列的第1部分至第5部分都在同一天发布:<p><a href=“https://;/;mastodon.social/”@dgregor79@sfba.social/;112253040283087966“rel=”nofollow“>https://mastodon.social/@dgregor79@sfba.social/;1122530402830</a>
airstrike: Swift is a great language. I just wish I could seriously use it outside of iOS development
airstrike: Swift是一种很棒的语言。我只希望我能在iOS开发之外认真使用它
cancerhacker: Coming from a C (and derivative) background, this was a good article to help map idioms and introduce new patterns. I still mentally translate to C in my head though.
cancerhacker: 这篇文章以C语言(及其派生语言)为背景,是一篇很好的文章,有助于映射习语并引入新模式。不过,我仍然会在脑海中把它翻译成C。
MBCook: I’ve been doing some swift for a while, it’s a great language.<p>This is the first time I’ve heard you could do recursive enum cases. Very neat! I wonder if that’s recent or not.
MBCook: 我已经做了一些快速的一段时间,这是一种很棒的语言<p> 这是我第一次听说你可以做递归枚举用例。非常整洁!我想知道这是不是最近的事。
turdprincess: Id be interested in a C++ for Swift developers version.
turdprincess: 我对Swift开发人员的C++版本感兴趣。