How to create an uninitialized pointer in Swift 3


(Lane Schwartz) #1

In Swift 2.2, I could do the following:

var cublasHandle : COpaquePointer = nil
let status = cublasCreate_v2(&cublasHandle)

Where cublasCreate_v2 is a C function that takes a pointer, and then
initializes some memory at that address.

I haven't been able to figure out an equivalent in Swift 3. Any
suggestions, especially to documentation, would be greatly appreciated.

Thanks,
Lane


(Martin R) #2

In Swift 3, COpaquePointer was renamed to OpaquePointer, and nullable pointers are represented by optionals:

  SE-0055 – Make unsafe pointer nullability explicit using Optional
  https://github.com/apple/swift-evolution/blob/master/proposals/0055-optional-unsafe-pointers.md

So the following should work in Swift 3:

  var cublasHandle: OpaquePointer?
  let status = cublasCreate_v2(&cublasHandle)

Martin

···

On 15 Sep 2016, at 23:38, Lane Schwartz via swift-users <swift-users@swift.org> wrote:

In Swift 2.2, I could do the following:

var cublasHandle : COpaquePointer = nil
let status = cublasCreate_v2(&cublasHandle)

Where cublasCreate_v2 is a C function that takes a pointer, and then initializes some memory at that address.

I haven't been able to figure out an equivalent in Swift 3. Any suggestions, especially to documentation, would be greatly appreciated.

Thanks,
Lane

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users


(Lane Schwartz) #3

Thank you so much. That's exactly what I needed!

Lane