• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ do czego służy void

Object Storage Arubacloud
+1 głos
4,069 wizyt
pytanie zadane 1 marca 2021 w C i C++ przez Kalindoreks Użytkownik (620 p.)
Witam mam pytanie/prośbę. Mógłby mi ktoś jasno wytłumaczyć do czego służy void? Po co on w zasadzie jest skoro nic nie zwraca. Pozdrawiam

2 odpowiedzi

+3 głosów
odpowiedź 1 marca 2021 przez gagyn Stary wyjadacz (11,050 p.)
wybrane 1 marca 2021 przez Kalindoreks
 
Najlepsza
Piszesz powiedzmy prostego CRUDa, czyli funkcje:

Add(JakisObiekt)

Get(JakisObiekt)

Update(JakisObiekt)

Delete(JakisObiekt)

To co zwraca funkcja Get, to oczywiste. Ale pomyśl co byś chciał i po co, aby zwracały metody Add, Update i Delete?

W 99% przypadków będą nam te zwracane dane nie potrzebne - no bo po co nam zwrócenie obiektu, który właśnie dodaliśmy do bazy?

Wtedy przychodzi z pomocą void.
1
komentarz 1 marca 2021 przez tkz Nałogowiec (42,000 p.)
Często takie funkcję zwracają boola.
komentarz 1 marca 2021 przez gagyn Stary wyjadacz (11,050 p.)
Jasne, ale już nie mieszajmy ;)
komentarz 1 marca 2021 przez NewEraOfPeace Gaduła (4,790 p.)
edycja 1 marca 2021 przez NewEraOfPeace

Warto nadmienić, że tak w zasadzie to w funkcji z typem zwracanym void można zwrócić cokolwiek (np. voida), jednak ta wartość po prostu "zniknie". Daje to ciekawe możliwości.

0 głosów
odpowiedź 1 marca 2021 przez KumberTwo Dyskutant (8,270 p.)
Funkcja typu void może wykonywać jakieś czynności np. printować coś, zmieniać zmienne globalne. Dla przykładu algorytm dfs zazwyczaj wykonuje się przy użyciu funkcji rekurencyjnej void.
komentarz 1 marca 2021 przez Kalindoreks Użytkownik (620 p.)
Skoro może coś wypisać to jednak może coś zwracać ta funkcja. Mam rację czy nie rozumiem
komentarz 1 marca 2021 przez Kalindoreks Użytkownik (620 p.)
Tak samo jeśli może zmienić zmienne globalne to jak je potem zwróci?
1
komentarz 1 marca 2021 przez KumberTwo Dyskutant (8,270 p.)

Funkcja, która coś zwraca to funkcja, która używa returna. Możesz mieć przecież funkcję
 

void wypisz(string a)
{
     cout << a << "\n";
}

która nie używa returna a jednak coś wypisuje. 

komentarz 1 marca 2021 przez KumberTwo Dyskutant (8,270 p.)

@Kalindoreks, Wcale nie musisz zwracać zmiennych globalnych. Wystarczy że je zmienisz:
 

#include <bits/stdc++.h>
using namespace std;

int licznik = 5;

void dodaj()
{
     licznik += 5;
}

int main()
{
     dodaj();
     dodaj();
     cout << licznik;
}

 

Podobne pytania

0 głosów
1 odpowiedź 432 wizyt
pytanie zadane 8 marca 2021 w Java przez Uwegi Początkujący (430 p.)
0 głosów
1 odpowiedź 349 wizyt
pytanie zadane 16 lutego 2021 w C i C++ przez Ciasteczko:) Początkujący (490 p.)
+1 głos
2 odpowiedzi 317 wizyt

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...