- Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Házimozi haladó szinten
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Vezetékes FEJhallgatók
- Sony MILC fényképezőgépcsalád
- VR topik (Oculus Rift, stb.)
- Modern monitorokra köthető 3dfx Voodoo kártya a fészerből
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Milyen cserélhető objektíves gépet?
- ZIDOO médialejátszók
- Azonnali informatikai kérdések órája
Hirdetés
-
Samsung Univerzum: Így ismerhető meg a Galaxy AI bármilyen telefonon
ma A Try Galaxy webalkalmazás kontrollált környezetben mutatja meg, mit tud a One UI 6.1-es rendszer és a mesterséges intelligencia.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Agyi chipes gyártóba fektetett a kriptocég
it A Tether 200 millió dollárt fektet a Blackrock Neurotech agyi chipes vállalatba.
Új hozzászólás Aktív témák
-
bpx
őstag
operator+ - nál muszáj valami helyi dolgot visszaadnom ami az eredményt tárolja
ha egy helyi pl. tmp változót létrehozol, és abba teszed az eredményt, akkor azt ne referenciaként add vissza, mert a fv lefutása után a lokális változó megszűnik
referenciaként pl. this-t vagy az egyik kapott opreandust tudod visszaadni -
-
FehérHolló
veterán
Bocs, most látom, hogy közben szerkesztetted az előzőt.
A destruktor jó, valamit közben szúrtál el. A két legvalószínűbb dolog a te esetedben, ami heap corruptiont okozhat:
- valahol közben már kitörölted a tort tömböt, a destruktor is törölni szeretné és ez nem tetszik az oprendszernek
- zárójeles a new, delete pedig zárójel nélküli (ez az esetedben fenn áll)Skynet is real. It's called Google.
-
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]Skynet is real. It's called Google.
-
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] -
norbiphu
senior tag
válasz norbiphu #107 üzenetére
KÉSZ!
operator= - ben is túlindexeltem a /0 - t, csak nem ott kerestem a hibát.
valamint a kivonásban úgy pakoltam a result int tömbből az eredményeket a visszaadandó tört stringbe, hogy nem is volt neki memória foglalva (ezt miért engedi a vs, miért nem warningolt? )
FehérHolló, -Zeratul-"Hmm," sed teh lolrus. "Maybe we shud go ask Ceiling Cat?"
-
caddie
csendes tag
válasz norbiphu #159 üzenetére
A kodot nem neztem, de a copy konstruktor azert hivodik, mert az operator*() egy temporalis objektumot 'hoz letre' es ez adodik ertekul a b-nek.
# 1 b = b * 2
# 2 b = [ c ]
# 3 b = c
Ez lenne a normalis megvalositasa egy opeartor*() -nak, amely 'free' esetleg friend fuggvenykent van megvalositva.
[Szerkesztve]''C++ : Where friends have access to your private members.'' — Gavin Russell Baker.
Ú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!
- AKCIÓ Új Dobozos Macbook Pro dokkoló új ára 70.000 forint
- ThinkPad Hybrid USB -C USB -A Dock 40AF Új ára 80.000 Forint Ingyen szállítás
- Xiaomi Redmi Note 9s 128/6 GB 34.9E !!!
- Új Hp Pavilion 15-eh Fémházas Szuper Laptop 15,6" -30% AMD Ryzen 7 5700U 8Mag 16/1TB FHD MATT
- ATI RADEON RX 480 -8 gb DDR5 256 bit videokártya