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