Klausimai pažymėti „dinamiškos atminties paskirstymas“

Dinaminis atminties priskyrimas, paprastai kalbų, kuriose nėra šiukšlių surinkimo ar privalomo ar automatinio atskaitos skaičiavimo, kontekste, reiškia procesą arba prašo operacinės sistemos atminties blokui, kurio dydis yra įvairus.
1
atsakymas

Ar iniciatorius įvertintas po atminties paskyrimo naujoje išraiška?

Apsvarstykite kodą auto p = new T (U (std :: move (v))); Iniciatorius yra U (std :: move (v)). Tarkime, kad T (U (std :: move (v))) nesumažėja. Jei iniciatorius įvertinamas po pagrindinio atminties priskyrimo, kodas yra stiprus - neįtraukti ...
04 Bal '18, 11:23
2
atsakymai

Ar beveik normalu ištrinti objektą, kuris nebuvo sukurtas naudojant naują išraišką?

Pedantiškai tai gali būti ne visai normalu. Pagal cppref: Jei išraiška yra kažkas, įskaitant, jei tai rodyklė, gauta iš naujos išraiškos masyvo, elgesys yra neapibrėžtas. Nukreipkite jį į šį kodą praktikuojančiam asmeniui ...
kovo 29 d. 18 val
1
atsakymas

Ar galiu nurodyti krūvos vietą, kad būtų galima sujungti mano duomenis?

Noriu išsaugoti programos būseną faile. Taigi turiu failą, kuriame yra išjungta medžiaga, kurioje atlieku operacijas, o tada jį išsaugoju ir, galbūt, naudosiu vėliau. Tai tinka paprastiems dalykams, bet jei man reikia tvirtos struktūros ...
nustatyti spalio 19 d. '18, 18:34
1
atsakymas

Sumažinimas naudojant realloc

Į šį nedidelį kodo elementą patekau į šį klausimą ir norėjau sužinoti, ar funkcija „realloc“ () gali perkelti atminties bloką į kitą vietą, kai sumažinama nurodyta atminties vieta? int * a = malloc (10 * dydžio (int)); int * b = realloc (a, 5 * ...
nustatytas 24 sep. '10, 19:14
6
atsakymai

Ar šis kodas neturėtų būti

int * p; o (tiesa) {p = new int; } Dėl to, kad trūksta atminties, šis kodas neturėtų susidurti. Bandžiau atspausdinti p reikšmę, ty atminties adresą, kuris yra už p, ir atrodo, kad jis didėja, bet nėra gedimų. Kodėl taip yra?
nustatytas spalio 25 d. „10, 20:46
6
atsakymai

C ++ - atminties paskirstymas krūvoje, naudojant „naują“

Jei turiu tokį teiginį: int * x = new int; Tokiu atveju atminties skiriu dinamiškai. Kitaip tariant, dabar turiu atminties adresą, skirtą int objektui. Tada pasakykite, kad aš padariau: ištrinti x;
nustatė sausio 29 d '11 12:26
5
atsakymai

Kada turėčiau naudoti calloc per malloc

Tai yra iš „Beej“ vadovo į „C“ niekur
lapkričio 12 d. 11 val
4
atsakymai

Kokias derinimo problemas apriboja malloc sukurto atminties bloko naudojimas?

Rašau biblioteką įvairiems matematiniams skaičiavimams C. Kai kuriems iš jų reikia šiek tiek „įbrėžimų“ atminties, kuri naudojama tarpiniams skaičiavimams. Reikalinga erdvė priklauso nuo įėjimų dydžio, todėl ...
15 Jan '14, 9:22
2
atsakymai

C0000374 aptiko kritinę klaidą - C ++ dll grąžina žymiklį į priskirtą atmintį C #

Turiu C + + dll, kuri tarnauja kai kurioms pagrindinės C # programos funkcijoms. Čia bandau perskaityti failą, įkelti jį į atmintį ir tada grąžinti kai kurią informaciją, pavyzdžiui, rodyklę į įkeltus duomenis ir blokų skaičių ...
gegužės 05 d. 14 val
4
atsakymai

Struktūra, turinti eilutės reikšmę, sukelia segmentavimo klaidą po to, kai ji buvo paskirta po to, kai ji sukurta naudojant dinaminį atminties paskirstymą

Kompiliatorius išleidžia runtime segfault, naudodamas šį kodą: #include <iostream> #include <string> naudojant vardų sritį std; struct Node {int data; tolesnis *; eilutės mazgasType; }; Mazgas * initNode (int duomenys) {mazgas * n = (mazgas *) m ...
nustatė kovo 17 d. 15 val
3
atsakymai

sugauti std :: paskirstymo funkcijas kompiliavimo metu

Aš tik noriu leisti naudoti std :: funkciją savo kodo bazėje, jei ji nevykdo jokio paskirstymo. Šiuo tikslu galiu parašyti kažką panašaus į toliau nurodytą funkciją ir naudoti tik norėdamas sukurti mano funkcijos pavyzdžius: šablonas <...
nustatyti 27 rug. '15, 19:04
2
atsakymai

Pradinės C ++ struktūros inicijavimas

Apgailestauju, kad paklausiau kito naujojo klausimo, tačiau „Google“ negalėjo man padėti (arba gal aš nesupratau). Bandau koduoti klasę, kurioje galima saugoti kai kuriuos paprastus duomenų ryšius. Mano ankstyvoji koncepcija yra: s ...
rugsėjo 16 d '18, 21:08
5
atsakymai

2D dinaminis atminties paskirstymo masyvas C + +

Prieš kelias dienas sužinojau apie 2D priskirtų atminties matricų kūrimą iš interneto, ji veikia gerai. Norėdami pasiekti masyvą, mes paprasčiausiai naudojame matricą [i] [j], bet ar yra kokių nors būdų, kad galėčiau išskirti šį 2D masyvą naudojant ...
nustatyti 12 vas '13, 12:17
1
atsakymas

posix_memalign for std :: vector

Ar yra būdas posix_memalign a std :: vektoriui pirmiausia nesukuriant vietinio vektoriaus egzemplioriaus? Problema, su kuria susiduriu, yra ta, kad turiu pasakyti posix_memalign, kiek vietos priskirti, ir aš nežinau, kaip pasakyti sizeof (std :: v ...
nustatyti 26 vas '10, 11:25
5
atsakymai

Kas daro šį dinaminį paskirstymą?

Šiandien sužinojau, kad galite rašyti tokį C + + kodą ir jį užpildyti: int * ptr = new int (5, 6); Kas yra šio tikslo tikslas? Žinoma, aš žinau dinamišką dalyką, bet čia aš prarandu. Bet kokie patarimai?
nustatytas vasario 27 d '10, 2:40