Kezdőoldal » Számítástechnika » Programozás » A C++ standard libraryben hol...

A C++ standard libraryben hol tudom megnézni a definíciókat? Pl. Az std::vector definícióját.

Figyelt kérdés
A header fájlokat megtalálom, de csak bináris fájlok vannak mellettük, amikben sejtésem szerint ott vannak a definíciók.

2019. máj. 13. 09:23
 1/6 anonim ***** válasza:
100%

A forráskódjuk érdekel? A definíciók maguk mind a headerekben vannak, de a kód maga bináris már és statikusan van linkelve a kódhoz fordításkor.

Maga a forráskód itt van: [link]

2019. máj. 13. 09:50
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

A headerben nem csak deklaráció van?

Kizártnak tartom, hogy az iostream mindössze ennyiből álljon:

extern istream cin;

extern ostream cout;

extern ostream cerr;

extern ostream clog;


Mellesleg az std::vectort nem találom itt. Jobb híján az include mappában kerestem, mert az src mappában valami tök más van.

2019. máj. 14. 10:00
 3/6 anonim ***** válasza:

Nem. A vector template osztály, szóval nem lehet, hogy csak a bináris implementációt adják hozzá, kell a forrásdefiníció a headerbe.


Nálam ez a bits/stl_vector.h fájlban van (GCC 7.4.0). Ezt a sima vector header include-olja magába.


Valahogy így néz ki:

template<typename _Tp, typename _Alloc = std::allocator<_Tp> >

class vector : protected _Vector_base<_Tp, _Alloc>

{

...

2019. máj. 14. 19:25
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
Az iostream pedig include-olja az istream-et (input) és az ostream-et (output). Azokban azért több minden van.
2019. máj. 14. 19:26
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:

Ja látom, itt a vector:

[link]

2019. máj. 15. 09:40
 6/6 A kérdező kommentje:

Visual studioban, ha leírom, hogy std::vector, jobb klikk rá és kiválasztom, hogy go to definition, akkor ebben a fájlban:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\vector


Ehhez a részhez ugrik:

// CLASS TEMPLATE vector

template<class _Ty,

class _Alloc = allocator<_Ty>>

class vector

: public _Vector_alloc<_Vec_base_types<_Ty, _Alloc>>

{ // varying size array of values


De pl. codeblocksban ilyesmit nem találtam.

2019. máj. 15. 09:42

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!