Здравствуйте, korzhik, Вы писали:
K>спасая от смерти, привожу код:
K>K>#include <string>
K>using std::string;
K>void some_function(string & a)
K>{
K> string b = a;
K>}
K>
Да уж, если бы всё было бы так просто. Когда ты делаешь присваивание к b, то к b присваивается ссылка (const *), т.е. получается, что мы теперь управляем a, только через b. Короче говоря получился, впринципе, бесполезный объект. Мне же нужно... вот пример кода:
int main(int argc, char *argv[])
{
string username; // input
string userkey; // output
strcpy((char*)username.c_str(), argv[1]);
GenerateKey(username, userkey);
}
int GenerateKey(string & userkey, string & cckey) // also can be used with &
{
string name; // input data
name = userkey;
printf("%i", name.length()); // обычно получается нуль
/** или к примеру ***/
transform(name.begin(), name.end(), name.begin(), toupper);
printf("%i", userkey.length()); // к примеру есть ввожу в коммандной строке: prog.exe "Some String"
printf("%i", name.length()); // то в userkey должно быть "Some String", а получается "SOME STRING" как в name
// так и в userkey. Получается, что работаю со ссылкой.
}
Думаю теперь понятно...