Kezdőoldal » Számítástechnika » Programozás » Tömb elemszámának lekérdezése...

NextBack kérdése:

Tömb elemszámának lekérdezése C++?

Figyelt kérdés

Most ismerkedek a nyelvel, és jelenleg ezt a problémát nem tudom áthidalni, hogyan kellene ?

Van beépített utasítás ?


2018. máj. 9. 20:28
 1/7 anonim ***** válasza:
70%
Tipp: tombneve.length
2018. máj. 9. 20:30
Hasznos számodra ez a válasz?
 2/7 tabaki ***** válasza:
Pontosítás: tombneve.length()
2018. máj. 9. 20:49
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
100%

size() tagfüggvény (<array> header):

[link]


sizeof operátor:

[link]

2018. máj. 9. 20:55
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
* Bocs size of helyett sizeof
2018. máj. 9. 21:00
Hasznos számodra ez a válasz?
 5/7 tabaki ***** válasza:

@#3:

Bocs, nem is figyeltem a lényegre, csak hiányoztak a zárójelek... Persze, hogy így.

2018. máj. 9. 21:11
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
100%

Amit itt felsoroltak, az nem a primitív tömbre vonatkozik, hanem az std::array container osztályra. A rend kedvéért:


Ez egy primitív tömb:

int numbers[5];


És ez egy array objektum:

std::array<int,5> numbers;


Mindkettő ugyanazt valósítja meg igazából: egy 5 elemű int tömböt. Csak az array osztálynak van számos metódusa, ami hatékonyabbá tudja tenni a használatát, le tudod kérdezni a méretét, üres-e, tudsz rajta iterálni, stb.


Ha primitív tömbbel dolgozol (nem javaslom), akkor a tömb hosszát magadnak kell számontartani, esetleg a sizeof() függvény segítségével meghatározhatod az elemszámát. A sizeof a tömb byte-okban vett méretét fogja visszaadni, amit ha leosztasz a tömb elemtípusának méretével, emgkapod az elemszámot (pl: sizeof(numbers) / sizeof(int) ). Vagy használhatsz std::array-t, esetleg std::vectort, ami sokkal kényelmesebb.

2018. máj. 9. 22:20
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

template <class T, std::size_t N>

constexpr std::size_t size(const T (&)[N]) noexcept

{

return N;

}


int numbers[10];

size(numbers); // == 10

2018. máj. 10. 23:50
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!