rspec/rules/S839/cfamily/rule.adoc

37 lines
818 B
Plaintext
Raw Normal View History

2021-04-28 16:49:39 +02:00
It is implementation-defined behaviour whether the reference parameter is a temporary object or a reference to the parameter. If the implementation uses a local copy (temporary object), this will be destroyed when the function returns. Any attempt to use such an object after its destruction will lead to undefined behaviour.
2021-04-28 16:49:39 +02:00
== Noncompliant Code Example
----
int32_t * fn1 ( int32_t & x )
{
return &x ; // Noncompliant
}
const int32_t * fn3 ( const int32_t & x )
{
return &x ; // Noncompliant
}
int32_t & fn4 ( int32_t & x )
{
return x ; // Noncompliant
}
const int32_t & fn5 ( const int32_t & x )
{
return x ; // Noncompliant
}
----
2021-04-28 16:49:39 +02:00
== See
* MISRA {cpp}:2008, 7-5-3
ifdef::rspecator-view[]
== Comments And Links
(visible only on this page)
include::comments-and-links.adoc[]
endif::rspecator-view[]