<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[MISRA Discussion Forums - 6.9 Classes (C++)]]></title>
		<link>https://forum.misra.org.uk/</link>
		<description><![CDATA[MISRA Discussion Forums - https://forum.misra.org.uk]]></description>
		<pubDate>Thu, 05 Nov 2026 15:13:50 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Unions and BitFields]]></title>
			<link>https://forum.misra.org.uk/showthread.php?tid=1627</link>
			<pubDate>Tue, 05 Jul 2022 15:26:01 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.misra.org.uk/member.php?action=profile&uid=5933">charles.obry@dana.com</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.misra.org.uk/showthread.php?tid=1627</guid>
			<description><![CDATA[Regarding usage of bitfields and enum, it is mention thta in certain cases it can be acceptable.<br />
<br />
Rule 9-5-1 :  Could you please explain what it means by "all relevant implementation-defined behavious is documented"<br />
<span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">Rule 9-6-1 :   Could you please see if the following code example would be compliant.</span></span></span><br />
<br />
<br />
For exemple would the following code be acceptable with a deviation justification:<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: x-small;" class="mycode_size"><span style="font-family: Consolas, 'Courier New', monospace;" class="mycode_font"><span style="color: #000000;" class="mycode_color">   </span><span style="color: #0000ff;" class="mycode_color">typedef</span><span style="color: #000000;" class="mycode_color"> </span><span style="color: #0000ff;" class="mycode_color">unsigned</span><span style="color: #000000;" class="mycode_color"> </span><span style="color: #0000ff;" class="mycode_color">int</span><span style="color: #000000;" class="mycode_color">  ubitfield_t;</span></span></span></span><br />
<br />
    union EventSource<br />
      {<br />
        EventSource() { Reset(); }<br />
        void    Reset() { all[0] = 0; }<br />
<br />
        uint32_t all[1];<br />
        struct EventSourceBits<br />
        {<br />
            ubitfield_t unused                            : 28;<br />
<br />
            ubitfield_t unknownId            : 1;<br />
            ubitfield_t <span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">InvalidHeader</span></span></span>         : 1;<br />
            ubitfield_t <span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">wrongCRC</span></span></span>              : 1;<br />
            ubitfield_t incompatible          : 1;<br />
<br />
        } bits;<br />
      };<br />
<br />
<br />
<br />
Regards,<br />
Charles]]></description>
			<content:encoded><![CDATA[Regarding usage of bitfields and enum, it is mention thta in certain cases it can be acceptable.<br />
<br />
Rule 9-5-1 :  Could you please explain what it means by "all relevant implementation-defined behavious is documented"<br />
<span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">Rule 9-6-1 :   Could you please see if the following code example would be compliant.</span></span></span><br />
<br />
<br />
For exemple would the following code be acceptable with a deviation justification:<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: x-small;" class="mycode_size"><span style="font-family: Consolas, 'Courier New', monospace;" class="mycode_font"><span style="color: #000000;" class="mycode_color">   </span><span style="color: #0000ff;" class="mycode_color">typedef</span><span style="color: #000000;" class="mycode_color"> </span><span style="color: #0000ff;" class="mycode_color">unsigned</span><span style="color: #000000;" class="mycode_color"> </span><span style="color: #0000ff;" class="mycode_color">int</span><span style="color: #000000;" class="mycode_color">  ubitfield_t;</span></span></span></span><br />
<br />
    union EventSource<br />
      {<br />
        EventSource() { Reset(); }<br />
        void    Reset() { all[0] = 0; }<br />
<br />
        uint32_t all[1];<br />
        struct EventSourceBits<br />
        {<br />
            ubitfield_t unused                            : 28;<br />
<br />
            ubitfield_t unknownId            : 1;<br />
            ubitfield_t <span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">InvalidHeader</span></span></span>         : 1;<br />
            ubitfield_t <span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">wrongCRC</span></span></span>              : 1;<br />
            ubitfield_t incompatible          : 1;<br />
<br />
        } bits;<br />
      };<br />
<br />
<br />
<br />
Regards,<br />
Charles]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[M9-3-1 and std::span-like classes]]></title>
			<link>https://forum.misra.org.uk/showthread.php?tid=1600</link>
			<pubDate>Fri, 18 Feb 2022 09:42:18 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.misra.org.uk/member.php?action=profile&uid=5614">cgpzs</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.misra.org.uk/showthread.php?tid=1600</guid>
			<description><![CDATA[Hi,<br />
<br />
Our static analyzer is reporting a violation of M9-3-1 in the following backport of C++20's `std:<img src="https://forum.misra.org.uk/images/smilies/confused.png" alt="Confused" title="Confused" class="smilie smilie_13" />pan`:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>template &lt;typename T&gt;<br />
class Span<br />
{<br />
 public:<br />
&nbsp;&nbsp; Span(T* const ptr, std::size_t size) : <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data_{ptr},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_{size}<br />
&nbsp;&nbsp; {}<br />
<br />
 T* data() const { return data_; }&nbsp;&nbsp;// M9-3-1 reported here<br />
<br />
 private:<br />
&nbsp;&nbsp; T* data_;<br />
&nbsp;&nbsp; std::size_t size_;<br />
};<br />
<br />
int main()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;std::array&lt;int, 3&gt; arr{1,2,3};<br />
&nbsp;&nbsp;&nbsp;&nbsp;Span&lt;int&gt; s{arr.data(), arr.size()};<br />
}</code></div></div><br />
<br />
The `Span` class is merely a non-owning wrapper around a memory buffer. Furthermore, the `data()` function is not returning a reference to any class member, it's returning a <span style="font-weight: bold;" class="mycode_b">copy</span> of a class member. <br />
<br />
Would you say M9-3-1 is violated in this example?<br />
<br />
Thanks!]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
Our static analyzer is reporting a violation of M9-3-1 in the following backport of C++20's `std:<img src="https://forum.misra.org.uk/images/smilies/confused.png" alt="Confused" title="Confused" class="smilie smilie_13" />pan`:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>template &lt;typename T&gt;<br />
class Span<br />
{<br />
 public:<br />
&nbsp;&nbsp; Span(T* const ptr, std::size_t size) : <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data_{ptr},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_{size}<br />
&nbsp;&nbsp; {}<br />
<br />
 T* data() const { return data_; }&nbsp;&nbsp;// M9-3-1 reported here<br />
<br />
 private:<br />
&nbsp;&nbsp; T* data_;<br />
&nbsp;&nbsp; std::size_t size_;<br />
};<br />
<br />
int main()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;std::array&lt;int, 3&gt; arr{1,2,3};<br />
&nbsp;&nbsp;&nbsp;&nbsp;Span&lt;int&gt; s{arr.data(), arr.size()};<br />
}</code></div></div><br />
<br />
The `Span` class is merely a non-owning wrapper around a memory buffer. Furthermore, the `data()` function is not returning a reference to any class member, it's returning a <span style="font-weight: bold;" class="mycode_b">copy</span> of a class member. <br />
<br />
Would you say M9-3-1 is violated in this example?<br />
<br />
Thanks!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[9-3-3 and interfaces enforced via templates instead of virtual functions]]></title>
			<link>https://forum.misra.org.uk/showthread.php?tid=1594</link>
			<pubDate>Wed, 15 Dec 2021 09:34:40 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.misra.org.uk/member.php?action=profile&uid=5614">cgpzs</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.misra.org.uk/showthread.php?tid=1594</guid>
			<description><![CDATA[Hi,<br />
<br />
We are having trouble following Rule M9-3-3 when implementing interfaces using templates, similarly to the idea of <a href="https://en.cppreference.com/w/cpp/named_req" target="_blank" rel="noopener" class="mycode_url">"named requirements"</a>. I have read a similar post about this rule here and it's stated that the rule will be revised to also take the "override set" of virtual functions into account, making sure a function should be made const only if the whole "override set" can be made const.<br />
<br />
Sometimes it might not be feasible to implement interfaces via virtual functions, and templates can be used to achieve the same result instead:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>template &lt;typename FooT&gt;<br />
void foo(FooT&amp; f)<br />
{<br />
&nbsp;&nbsp; f.run();<br />
}</code></div></div><br />
<br />
This pattern is commonly used e.g. in static dependency injection. We can pass any type `FooT` as long as it fulfills the interface `FooT::run`. For some types, `run` could be made const, but not all of them, therefore we get warnings from our static analyzers in such functions.<br />
<br />
Will you consider this use case in the next revision of the rule? How do you suggest we work with it?<br />
<br />
Thanks!]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
We are having trouble following Rule M9-3-3 when implementing interfaces using templates, similarly to the idea of <a href="https://en.cppreference.com/w/cpp/named_req" target="_blank" rel="noopener" class="mycode_url">"named requirements"</a>. I have read a similar post about this rule here and it's stated that the rule will be revised to also take the "override set" of virtual functions into account, making sure a function should be made const only if the whole "override set" can be made const.<br />
<br />
Sometimes it might not be feasible to implement interfaces via virtual functions, and templates can be used to achieve the same result instead:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>template &lt;typename FooT&gt;<br />
void foo(FooT&amp; f)<br />
{<br />
&nbsp;&nbsp; f.run();<br />
}</code></div></div><br />
<br />
This pattern is commonly used e.g. in static dependency injection. We can pass any type `FooT` as long as it fulfills the interface `FooT::run`. For some types, `run` could be made const, but not all of them, therefore we get warnings from our static analyzers in such functions.<br />
<br />
Will you consider this use case in the next revision of the rule? How do you suggest we work with it?<br />
<br />
Thanks!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Question about an example from rule 9-3-1]]></title>
			<link>https://forum.misra.org.uk/showthread.php?tid=1334</link>
			<pubDate>Fri, 07 Apr 2017 05:50:27 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.misra.org.uk/member.php?action=profile&uid=3849">cxlin</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.misra.org.uk/showthread.php?tid=1334</guid>
			<description><![CDATA[Hi MISRA,<br />
<br />
I have a question about the following example from rule 9-3-1:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>class C {<br />
public:<br />
&nbsp;&nbsp;C ( int &amp;b_ ) : b( b_ ) { }<br />
<br />
&nbsp;&nbsp;int *getB () const<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;return &amp;b;&nbsp;&nbsp;// Non-compliant<br />
&nbsp;&nbsp;}<br />
private:<br />
&nbsp;&nbsp;int &amp;b;<br />
}</code></div></div>Here `getB` actually returns a pointer to the object that `b` referenced, not the member `b` itself. And that object doesn't seem to satisfy the definition of "class data" by 1) it's not non-staitc member data, and 2) it's not a resource acquired in the constructor or released in the destructor. So I'm not sure why this is a Non-compliant case. Could you help to clarify a bit? Thanks!]]></description>
			<content:encoded><![CDATA[Hi MISRA,<br />
<br />
I have a question about the following example from rule 9-3-1:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>class C {<br />
public:<br />
&nbsp;&nbsp;C ( int &amp;b_ ) : b( b_ ) { }<br />
<br />
&nbsp;&nbsp;int *getB () const<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;return &amp;b;&nbsp;&nbsp;// Non-compliant<br />
&nbsp;&nbsp;}<br />
private:<br />
&nbsp;&nbsp;int &amp;b;<br />
}</code></div></div>Here `getB` actually returns a pointer to the object that `b` referenced, not the member `b` itself. And that object doesn't seem to satisfy the definition of "class data" by 1) it's not non-staitc member data, and 2) it's not a resource acquired in the constructor or released in the destructor. So I'm not sure why this is a Non-compliant case. Could you help to clarify a bit? Thanks!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Clarification for rule 9-3-3]]></title>
			<link>https://forum.misra.org.uk/showthread.php?tid=1327</link>
			<pubDate>Wed, 22 Mar 2017 08:59:11 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.misra.org.uk/member.php?action=profile&uid=4389">dg1980</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.misra.org.uk/showthread.php?tid=1327</guid>
			<description><![CDATA[Dear MISRA team,<br />
<br />
to me the rule text sounds like an if/else instruction for a static analysis tool vendor, e.g.:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>if (static_possible[ast_cur_sym])<br />
{<br />
&nbsp;&nbsp;print("[MISRA C++ 9-3-3] %s could be made static", ast_cur_sym);<br />
}<br />
else<br />
{<br />
&nbsp;&nbsp;if (const_possible[ast_cur_sym])<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;print("[MISRA C++ 9-3-3] %s could be made const", ast_cur_sym);<br />
&nbsp;&nbsp;}<br />
}</code></div></div><br />
Can you confirm?<br />
Thanks.<br />
<br />
Background: in the sample code below i would expect to get "[MISRA C++ 9-3-3] nfoo::cfoo::get could be made static" while some static analyzers suggest const instead.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>namespace nfoo<br />
{<br />
&nbsp;&nbsp;typedef int si32;<br />
&nbsp;&nbsp;class cfoo<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;public:<br />
&nbsp;&nbsp;&nbsp;&nbsp;si32 get(void){return x;}<br />
&nbsp;&nbsp;private:<br />
&nbsp;&nbsp;&nbsp;&nbsp;static si32 x;<br />
&nbsp;&nbsp;};<br />
<br />
&nbsp;&nbsp;si32 cfoo::x = 0;<br />
}</code></div></div>]]></description>
			<content:encoded><![CDATA[Dear MISRA team,<br />
<br />
to me the rule text sounds like an if/else instruction for a static analysis tool vendor, e.g.:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>if (static_possible[ast_cur_sym])<br />
{<br />
&nbsp;&nbsp;print("[MISRA C++ 9-3-3] %s could be made static", ast_cur_sym);<br />
}<br />
else<br />
{<br />
&nbsp;&nbsp;if (const_possible[ast_cur_sym])<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;print("[MISRA C++ 9-3-3] %s could be made const", ast_cur_sym);<br />
&nbsp;&nbsp;}<br />
}</code></div></div><br />
Can you confirm?<br />
Thanks.<br />
<br />
Background: in the sample code below i would expect to get "[MISRA C++ 9-3-3] nfoo::cfoo::get could be made static" while some static analyzers suggest const instead.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>namespace nfoo<br />
{<br />
&nbsp;&nbsp;typedef int si32;<br />
&nbsp;&nbsp;class cfoo<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;public:<br />
&nbsp;&nbsp;&nbsp;&nbsp;si32 get(void){return x;}<br />
&nbsp;&nbsp;private:<br />
&nbsp;&nbsp;&nbsp;&nbsp;static si32 x;<br />
&nbsp;&nbsp;};<br />
<br />
&nbsp;&nbsp;si32 cfoo::x = 0;<br />
}</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Rule 9-3-2]]></title>
			<link>https://forum.misra.org.uk/showthread.php?tid=1289</link>
			<pubDate>Fri, 21 Oct 2016 12:07:45 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.misra.org.uk/member.php?action=profile&uid=4389">dg1980</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.misra.org.uk/showthread.php?tid=1289</guid>
			<description><![CDATA[Dear MISRA team,<br />
<br />
i think in the example below, the non-const get_p is a violation of this rule, while the static analysis tool says otherwise.<br />
The compliant example in the document refers to shared data, which is not the case here.<br />
I think it was misinterpreted as "returning a member of type T* is always compliant".<br />
If so, maybe in the next version of the standard this rule needs a better formulation in terms of exceptions. <br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>FlexeLint for C/C++ (Unix) Vers. 9.00L, Copyright Gimpel Software 1985-2014 <br />
--- Module: diy.cpp (C++)<br />
&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;//lint -indirect(au-misra-cpp-alt.lnt)<br />
&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;namespace<br />
&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;typedef unsigned char ui8;<br />
&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;class cFoo<br />
&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;public:<br />
&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cFoo(void) : arr(), p(&amp;arr[0]){}<br />
&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ui8* get_p(void){return p;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const ui8* get_p(void) const{return p;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;private:<br />
&nbsp;&nbsp;&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ui8 arr[4];<br />
&nbsp;&nbsp;&nbsp;&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ui8* p;<br />
&nbsp;&nbsp;&nbsp;&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;};<br />
&nbsp;&nbsp;&nbsp;&nbsp;15&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;16&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;17&nbsp;&nbsp;<br />
<br />
--- Wrap-up for Module: diy.cpp</code></div></div>]]></description>
			<content:encoded><![CDATA[Dear MISRA team,<br />
<br />
i think in the example below, the non-const get_p is a violation of this rule, while the static analysis tool says otherwise.<br />
The compliant example in the document refers to shared data, which is not the case here.<br />
I think it was misinterpreted as "returning a member of type T* is always compliant".<br />
If so, maybe in the next version of the standard this rule needs a better formulation in terms of exceptions. <br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>FlexeLint for C/C++ (Unix) Vers. 9.00L, Copyright Gimpel Software 1985-2014 <br />
--- Module: diy.cpp (C++)<br />
&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;//lint -indirect(au-misra-cpp-alt.lnt)<br />
&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;namespace<br />
&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;typedef unsigned char ui8;<br />
&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;class cFoo<br />
&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;public:<br />
&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cFoo(void) : arr(), p(&amp;arr[0]){}<br />
&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ui8* get_p(void){return p;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const ui8* get_p(void) const{return p;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;private:<br />
&nbsp;&nbsp;&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ui8 arr[4];<br />
&nbsp;&nbsp;&nbsp;&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ui8* p;<br />
&nbsp;&nbsp;&nbsp;&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;};<br />
&nbsp;&nbsp;&nbsp;&nbsp;15&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;16&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;17&nbsp;&nbsp;<br />
<br />
--- Wrap-up for Module: diy.cpp</code></div></div>]]></content:encoded>
		</item>
	</channel>
</rss>