The return statement :
st.empty()? true:false
is redundant because st.empty() will return true or false.