Template - pole – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Template - pole – C / C++ – Fórum – Programujte.comTemplate - pole – C / C++ – Fórum – Programujte.com

 

janek
~ Anonymní uživatel
56 příspěvků
5. 7. 2009   #1
-
0
-

dobry den. Chci se zeptat jde nějak vytvořit šablona ( nebo něco ...) čím bych mohl, stejně tak jako opmocí typu T nadefinovat INT nebo nějakou CLASS, nedefinovat libovolné pole( prostě abych mohl ve třídě používat různě velká pole s různým počtem dimenzí, stejně tak jako typy.) předem díky za odpověd. Janek

Nahlásit jako SPAM
IP: 85.92.39.–
don_Dominique0
Super člen
5. 7. 2009   #2
-
0
-

To janek : Samozřejmě že to jde ;-) Nauč se pracovat s ukazateli a s operátory new a delete (v případě C malloc a free). Já sem to jednou implemetnvoal jako šablonu struktury ve který byl uloženej ten typ prvku pole a dva ukazatele na předchozí a následující prvek pole. pak sem měl třídu array kde sem měl metody append apod. stačí mít ukazatel například na aktuální prvek (strukturu) a například na začátek pole a pak už to jde samo ;-)

Nahlásit jako SPAM
IP: 88.146.211.–
janek
~ Anonymní uživatel
56 příspěvků
5. 7. 2009   #3
-
0
-

Jasne .. moc díky .. :)

Nahlásit jako SPAM
IP: 85.92.39.–
don_Dominique0
Super člen
5. 7. 2009   #4
-
0
-

To janek : Ale jestli chceš vícerozměrný pole pak musíš jednotlivým prvkům pole (dalším rozměrům) měnit velikost alokovaný paměti (pokud budou ty další rozměry dynamicky alokovaný) V c je to funkce realloc.

Nahlásit jako SPAM
IP: 88.146.211.–
nikto
~ Anonymní uživatel
24 příspěvků
5. 7. 2009   #5
-
0
-

...( prostě abych mohl ve třídě používat různě velká pole s různým počtem dimenzí, stejně tak jako typy.) předem díky za odpověd. Janek



Ppochopil som spravne ze by si chcel nieco co sa sprava ako lubovolne rozmerne pole ? Ak poznas dopredy pocet rozmerov tak s template parametrami je to jednoduche a nemusis ani nic dynamicky alokovat. Ak dopredu pocet rozmerov nepoznas, aj to sa da ale je to komlipkovanejse (ale to sa nerobi pomocou template parametrov)

Napr.:
template<class T, int m, int n>

class {
public:
T pole[m][n];
}l

Nahlásit jako SPAM
IP: 217.118.98.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 48 hostů

Podobná vlákna

Template — založil janek

Template — založil MiCizek

Template zlobi — založil koudis

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý