Wpis z mikrobloga

jak w c++ ustawić zmienną typu string jako argument funkcji i jak ustawić stringa jako typ funkcji?
można po prostu (typ) funkcja(string arg)
i (przykładowo) string funkcja (int arg)
{
string wyraz;
if (arg > 0)
return wyraz;
...
}
#programowanie #pytanie #cpp #cplusplus
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Blomex: no żeby dodać dyrektywę to wiem, ale chodzi mi o to czy stringi można dodawać tak jak napisałem czy trzeba przez referencję, czy jakoś inaczej, czy funkcja może zwracać string
  • Odpowiedz
@yungdupa: a dobra, o to chodzi.
w takim razie:
można tak jak napisałeś, ale zaleca się przekazywanie stringa przez referencję (żeby nie był kopiowany przy wywołaniu funkcji). Jeśli natomiast chodzi o zwracanie, to prawdopodobnie chcesz zwracać po prostu string, a nie referencję do niego (co też można robić, ale musisz uważać, żeby nie wyjść ze scope, czyli np. możesz zwracać referencję do statycznego obiektu)

czyli użyłbym string foo(string &arg)
  • Odpowiedz
@yungdupa: To zalezy bardziej od konkretnej funkcji i tego jak chcesz obslugiwac lifetimy, nie ma jednego sposobu na przkazywanje stringow.
I jako że mamy 2021 to raczej std::string_view niż refka do stringa
  • Odpowiedz