Whether you put your constants in all uppercase or not is a matter of tastes, but there is literally no reason to use a define here. In this particular situation, you're unlikely to notice much of a difference, but there are other instances in which it matters (e.g. struct/class instances).
"ComplicatedClass" needs to do something when constructed. myConst is created exactly once, while MY_CONST is inserting a default constructor call to ComplicatedClass every single time. That's quite a huge difference. I don't really know of any situation in which you'd prefer "define" - ing a constant over just using const.