Информация об изменениях

Сообщение Re: void foo(const char* & val) от 26.05.2021 14:45

Изменено 26.05.2021 15:04 rg45

Re: void foo(const char* & val)
Здравствуйте, Lepsik, Вы писали:

L>Как можно передать в функцию каст на tst без использования промежуточной переменной p?


На правах вредного совета: добавить перегрузку foo для rvalue reference:

void foo(const char* & val)
{
    char* r = new char[255];;

    strncpy_s(r, 255, val, 255);

    cout << r;
}

void foo(const char* && val)
{
    foo(val);    
}

int main()
{   
    char tst[255] =  "TEST";

    foo(tst);
}

Re: void foo(const char* & val)
Здравствуйте, Lepsik, Вы писали:

L>Как можно передать в функцию каст на tst без использования промежуточной переменной p?


На правах вредного совета: добавить перегрузку foo для rvalue reference:

void foo(const char* & val)
{
    char* r = new char[255];;

    strncpy_s(r, 255, val, 255);

    cout << r;
}

void foo(const char* && val)
{
    foo(val);    
}

int main()
{   
    char tst[255] =  "TEST";

    foo(tst);
}

Отработает именно так, как ты хочешь