You are talking about object methods, in which const has meaning limited to the object&#x27;s data, and nothing else -- you can still do side-effects. I&#x27;m talking about also anonymous lambdas (modern c++ feature) and non-object functions. There is no way to say in C++ (or even a more functional language like Clojure) if a function has side-effects or not.