If you are traveling outside of the e U.S. you should have a Capital One or other credit card that does not change international transaction fees. ( I'm sure there is a Canadian equivalent.)

Even if you just use it when you travel.

In my experience the credit card will give you a better exchange rate than buying Euros.

So, if you are from the U.S. the optimum combination is dollars and a no fee credit card.