I have a C++ function that takes as arguments something like:
void myFunction(shared_ptr<const MyObject> ptr)) {
...
}
and in my main code I do something like this, and it compiles:
shared_ptr<MyObject> test(new MyObject());
myFunction(test);
Does this mean that inside MyFunction, if I dereference ptr, then the object is constant and cannot be modified?
What are the conversions going on to allow this to compile?