Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65298

Wyniki zwracanych danych z funkcji bez referencji, bezpośrednio w cout, oraz przed cout C++

$
0
0

Witam. Dlaczego w obydwu przypadkach nie używając referencji i wywołując funkcję PRZED std::cout otrzymujemy to samo co wpisaliśmy, czyli program kopiował zmienne. A natomiast wywołując funkcję W std::cout program działa tak jakbym używał referencji, czyli operuje na oryginałach zmiennych. Dlaczego tak się dzieje? 

 

#include <iostream>

using namespace std;

template <class foo>
foo wyraz(foo slowo)
{
    slowo += "abc";
    return slowo;
}

template <class foo>
foo add(foo a)
{
    a+=50;
    return a;
}

int main()
{
    //bez referencji przed cout
    
    string napis;
    cin>>napis;
    wyraz(napis);
    cout<<napis;

    int a;
    cin>>a;
    add(a);
    cout<<a;

    //bez referencji w cout
    
    cin>>napis;
    cout<<wyraz(napis);;

    cin>>a;
    cout<<add(a);;


    return 0;
}

 


Viewing all articles
Browse latest Browse all 65298

Latest Images

Trending Articles



Latest Images