<div dir="ltr">What is the difference between:<div><div>ptr.storeBytes(of: x, toByteOffset: offset, as: type(of: x))</div><div>ptr.advanced(by: offset).assumingMemoryBound(to: type(of: x)).pointee = x</div></div><div>?</div><div>I noticed that the former traps if storing to a misaligned offset while the latter is happy to do that, and I saw it mentioned as a requirement in the documentation, but other than that I&#39;m not sure what would be the pros and cons of using the former / latter?</div><div>/Jens</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 23, 2016 at 10:23 PM, Joe Groff via swift-users <span dir="ltr">&lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
&gt; On Sep 23, 2016, at 1:55 AM, Gerriet M. Denkmann via swift-users &lt;<a href="mailto:swift-users@swift.org">swift-users@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;&gt; On 23 Sep 2016, at 15:47, Gerriet M. Denkmann via swift-users &lt;<a href="mailto:swift-users@swift.org">swift-users@swift.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; This used to work in Swift 2.2:<br>
&gt;&gt;<br>
&gt;&gt; var bitfield: UnsafeMutablePointer&lt;UInt8&gt;?<br>
&gt;&gt; bitfield = UnsafeMutablePointer&lt;UInt8&gt;( malloc( 888 ) )<br>
&gt;&gt;<br>
&gt;&gt; How is this written in Swift 3.0?<br>
&gt;<br>
&gt; To answer my own question:<br>
&gt; This works:<br>
&gt; var bitfield: UnsafeMutableRawPointer<br>
&gt; bitfield = UnsafeMutableRawPointer( malloc(888))<br>
&gt;<br>
&gt; But then this stops working:<br>
&gt; let theByte = self.bitfield[ 5 ]<br>
&gt;<br>
&gt; Somehow the bitfield must know that it is a field of bytes (not shorts, ints or whatever). But how?<br>
<br>
</span>The RawPointer types provide methods that can load a value with a given offset and type for you. IIRC, `bitfield.load(fromByteOffset: 0, as: UInt8.self)` will do what you want.<br>
<br>
-Joe<br>
<div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-users</a><br>
</div></div></blockquote></div><br></div>