opt_classresults

Controls the omission of the copy constructor call for class return types if all return statements in a function return the same local class object.

Syntax
  #pragma opt_classresults on | off | reset
   
Remarks

Example #pragma opt_classresults shows an example.

Listing 1. Example #pragma opt_classresults
#pragma opt_classresults on

struct X {
  X();
  X(const X&);
  // ...
};

X f() {
  X x; // Object x will be constructed in function result buffer.
  // ...
  return x; // Copy constructor is not called.
}

This pragma does not correspond to any panel setting. By default, this pragma is on .

Related information
access_errors
always_inline
arg_dep_lookup
ARM_conform
ARM_scoping
array_new_delete
auto_inline
bool
cplusplus
cpp1x
cpp_extensions
debuginline
def_inherited
defer_codegen
defer_defarg_parsing
direct_destruction
direct_to_som
dont_inline
ecplusplus
exceptions
inline_bottom_up
inline_bottom_up_once
inline_depth
inline_max_auto_size
inline_max_size
inline_max_total_size
internal
iso_templates
new_mangler
no_conststringconv
no_static_dtors
nosyminline
old_friend_lookup
old_pods
old_vtable
parse_func_templ
parse_mfunc_templ
RTTI
suppress_init_code
template_depth
thread_safe_init
warn_hidevirtual
warn_no_explicit_virtual
warn_no_typename
warn_notinlined
warn_structclass
wchar_type