Sada je: 29 ožu 2024, 07:30.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Pozdrav,
trebam pomoć sa gore navedenim problemom. Trebao bih samo jednu naredbu iz librarya pa mi nema smisla uvoziti cijeli library, trebam nešto kao ovo u C#:
Kod: Označi sve
System.Collections.Generic.List<T>();


Note: Ne treba mi lista, to je samo primjer, trebam iz "cstring" naredbu "strtok".
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
Postovi: 1975
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Lokacija: wonderland
Podijelio/la zahvalu: 8 puta
Primio/la zahvalu: 38 puta
Spol: M
OS: Debian 7 Wheezy
To baš i ne možeš napraviti u C++-u "na pravi način".
Možeš pomoću "trikova", npr. da wrapaš tu funkciju..
Ali pitanje je da li ti uopće to treba...

Što bi točno želio postići?
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Avatar
Moderator
Postovi: 4366
Moderator
Postovi: 4366
Pridružen/a: 28 sij 2009, 18:46
Podijelio/la zahvalu: 86 puta
Primio/la zahvalu: 148 puta
Spol: M
OS: openSUSE Leap KDE
U header fileovima nije baš poželjno imati include pa to pokušavam izbjeći.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
Postovi: 1975
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Lokacija: wonderland
Podijelio/la zahvalu: 8 puta
Primio/la zahvalu: 38 puta
Spol: M
OS: Debian 7 Wheezy
Pa nemoj onda koristiti #include <cstring>. Samo deklariraj tu jednu funkciju tako da kompajler zna s čime ima posla.
Recimo,
Kod: Označi sve
char * strtok ( char * str, const char * delimiters );

(ovu sam deklaraciju sada prekopirao s interneta. Provjeri je li tvoja ista)

Ako se bojiš da će ti program narasti zbog uključivanja čitave biblioteke, nemaj straha. Biblioteke su napravljene tako da se uključuju samo pozvane funkcije jer je svaka funkcija u biblioteci posebni objektni fajl. Ako su biblioteke dijeljene a ne statičke, još bolje.

Edit: to možda ne bu išlo zato jer strtok koristi druge funkcije iz te biblioteke ali možeš ga #includati bez brige ako dodaš #ifndef i #define.
"Hodor bre foobar"
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...
"strtok" se ne može forward deklarirati (bar mislim). Nije da imam brige oko rasta programa uključivanjem libova, ali stvarno nema smisla uključivati gomile stvari u headere pa zato moje pitanje.

#ifndef/#ifdef je dobra ideja, ty.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
Avatar
Postovi: 1975
Postovi: 1975
Pridružen/a: 19 srp 2011, 22:39
Lokacija: wonderland
Podijelio/la zahvalu: 8 puta
Primio/la zahvalu: 38 puta
Spol: M
OS: Debian 7 Wheezy

Na mreži
Trenutno korisnika/ca: / i 8 gostiju.