Új hozzászólás Aktív témák
-
bpx
őstag
válasz
norbiphu #102 üzenetére
#include <iostream>
class T{
char* t;
public:
T(char* z) {
t=new char[strlen(z)+1];
strcpy(t,z);
t[strlen(z)]='\0';
// tulcimezted a tombot, nem kell a +1, mert 0-tol indul a cimzes
}
~T() {
if (t!=NULL) delete[] t;
// destruktort eszedbe ne jusson enelkul megirni, kulonben ugy szall el, hogy csak na}
// ehhez persze param. nelkuli konstruktor is kell, ami beallitja NULL-ra akkor is, ha nem csinalsz semmit
};
int main() {
T A(''323232'');
}
[Szerkesztve] -
FehérHolló
veterán
válasz
norbiphu #102 üzenetére
Kicímzel a tömbből a '\0' berakásánál. A legnagyobb index strlen(z).
Másrészt ezzel egy nagyobb baj is van. Ha z alapból nem nullterminált, akkor nem működik rá a strlen() függvény. Ha pedig z nullterminált, akkor szükségtelen a t végére berakni egy '\0'-t.
A harmadik gond pedig a main()-en belül az A objektum inicializálásánál van. A () zárójelbe nem két ''-t (shift+1) kell rakni, hanem egy ''-t (shift+2). De ha így adod be neki a stringet, akkor zárd le '\0'-al, és nem lesz baja a konstruktornak sem. (A két első hibát kiküszöbölöd.)
Szerk: Jé, most látom, hogy két shift+1 egymás mellett ugyanúgy néz ki, mint a shift+2, ha code blokkba rakom.
[Szerkesztve]
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- Klaus Duran: 2025 dude
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Autós topik
- Formula-1
- OLED TV topic
- Nem indul és mi a baja a gépemnek topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Kerékpárosok, bringások ide!
- Kerékpársportok
- További aktív témák...
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
- REFURBISHED - DELL Thunderbolt Dock WD19TBS docking station (210-AZBV)
- LG 65QNED86T / 65" - 164 cm QNED / 4K UHD / 120Hz & 3ms / HDR 10 Pro / FreeSync Premium / HDMI 2.1
- LG 55C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
- Fujitsu USB Port Replicator PR09 docking station (1x5K vagy 2x4K felbontás) (DisplayLink)
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest