неявное преобразование char* в string - это плохо?
От: greenloki  
Дата: 02.05.06 10:14
Оценка:
допустим первый вариант:
vector<string> v;
v.push_back("str");


почему первый вариант считается правильным и даже предпочтительным, а не например более правильный и более осмысленный (нет неявного преобразования char* в string) с моей точки зрения второй вариант?:
vector<string> v;
v.push_back(string("str"));


из той же оперы что и первый вариант:
string foo()
{
    return "str";
}


существуют ли контейнеры отличные от std::string которые могут работать только со вторым вариантом или оба этих варианта это просто синонимы?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.