If so, how? Does this question even make sense?
In my case it would make no sense to have the returned object modified by the caller, so I want to mark it as non-modifia
const MyClass foo();
is valid, but returning a const value doesn't make sense - it's copied anyway.
You can return e.g. a const reference: const MyClass & foo();
is also perfectly valid. This doesn't prevent the user from making a copy though.
If you're thinking about const MyClass * foo();
then the const is more meaningful - the user will not be able to modify the pointed to MyClass
instance.