Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
31
Task/Address-of-a-variable/Swift/address-of-a-variable.swift
Normal file
31
Task/Address-of-a-variable/Swift/address-of-a-variable.swift
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
class MyClass {
|
||||
}
|
||||
|
||||
func printPointer<T>(ptr: UnsafePointer<T>) {
|
||||
println(ptr)
|
||||
}
|
||||
|
||||
func test() {
|
||||
var x = 42
|
||||
var y = 3.14
|
||||
var z = "foo"
|
||||
var obj = MyClass()
|
||||
|
||||
// Use a pointer to a variable on the stack and print its address
|
||||
withUnsafePointer(&x) { ptr in println(ptr) }
|
||||
withUnsafePointer(&y) { ptr in println(ptr) }
|
||||
withUnsafePointer(&z) { ptr in println(ptr) }
|
||||
withUnsafePointer(&obj) { ptr in println(ptr) }
|
||||
|
||||
// Alternately:
|
||||
printPointer(&x)
|
||||
printPointer(&y)
|
||||
printPointer(&z)
|
||||
printPointer(&obj)
|
||||
|
||||
// Printing the address of an object that an object reference points to
|
||||
// In Swift 3, unsafeAddress is removed
|
||||
println(Unmanaged.passUnretained(obj).toOpaque())
|
||||
}
|
||||
|
||||
test()
|
||||
Loading…
Add table
Add a link
Reference in a new issue