Re[2]: copy referenced string
От: Dmitry.INFO Эстония http://dmitry.info/
Дата: 07.01.06 10:41
Оценка: :))
Здравствуйте, 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. Получается, что работаю со ссылкой.
}

Думаю теперь понятно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.