Yeah, definitely, a lot of the time. Sometimes, information must be passed to the constructor, information which couldn't of been known at compile-time.
In short terms, constructors are used for setting up, and this includes allocating memory to different variables and objects that belong to that instance of the class.
Destructors do quite the opposite, where they are used for deallocating memory and performing general clean-up, which can help to avoid memory leaks.