For basic types, not unless you're converting between integer and floating point types, which are relatively expensive operations.
For complex types, a cast is either invalid, or involves a function call to the conversion operator overload. For a valid cast performed with the syntax T(x) rather than (T)x, a constructor is called.
There's no difference for basic types.
For complex types, it depends on the implementations of the various functions. For example, for an x of type R, in principle the implementations of T::T(const R &) and R::operator T() could differ significantly such that T(x) and (T)x take very different amounts of time, but this would be rare in practice.