M
ma740988
Consider the source snippet.
# include <iostream>
struct foo_struct {
int odx ;
int pdx ;
foo_struct ()
: odx ( 0 )
, pdx ( 0 )
{}
};
int main()
{
foo_struct fs1;
fs1.odx = 2 ;
fs1.pdx = 5 ;
foo_struct fs2;
std::swap ( fs1, fs2 ) ;
}
Ideally I could provide my own copy constructor and assignment
operator for foo_struct, nonetheless, I'm more interested in whether
the use of std::swap on the composite ( non-POD types ) makes the
program ill-formed?
Thanks in advance.
# include <iostream>
struct foo_struct {
int odx ;
int pdx ;
foo_struct ()
: odx ( 0 )
, pdx ( 0 )
{}
};
int main()
{
foo_struct fs1;
fs1.odx = 2 ;
fs1.pdx = 5 ;
foo_struct fs2;
std::swap ( fs1, fs2 ) ;
}
Ideally I could provide my own copy constructor and assignment
operator for foo_struct, nonetheless, I'm more interested in whether
the use of std::swap on the composite ( non-POD types ) makes the
program ill-formed?
Thanks in advance.