[swift-users] Using withUnsafePointer on char arrays within C structs
Martin R
martinr448 at gmail.com
Thu Feb 23 04:31:21 CST 2017
Is that simplified guaranteed to work? The Swift book says that
> As an optimization, when the argument is a value stored at a physical address in memory, the same memory location is used both inside and outside the function body.
but also
> Write your code using the model given by copy-in copy-out, without depending on the call-by-reference optimization, so that it behaves correctly with or without the optimization.
If `tmp.0` is copied to a separate location then `String(cString: &tmp.0)` would not work correctly, or would it?
Thank you in advance,
Martin
> On 23 Feb 2017, at 09:33, Quinn The Eskimo! via swift-users <swift-users at swift.org> wrote:
>
>
> On 22 Feb 2017, at 22:16, Russell Finn via swift-users <swift-users at swift.org> wrote:
>
>> … is (2) the best I can do for now?
>
> Yes.
>
> btw You can simplify the code to this:
>
> var description: String {
> var tmp = self.path
> return String(cString: &tmp.0)
> }
>
> but it still needs that copy.
>
>> And is this the sort of issue that the Ownership Manifesto is designed to address?
>
> I’m not sufficiently up to speed on that topic to answer this. Sorry.
>
> Share and Enjoy
> --
> Quinn "The Eskimo!" <http://www.apple.com/developer/>
> Apple Developer Relations, Developer Technical Support, Core OS/Hardware
>
>
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
More information about the swift-users
mailing list